/* ============================================
   SECTION JADWAL ACARA — taken verbatim from jadwal-preview.html
   Spec: docs/execution/12-JADWAL-SECTION-FINAL.md (LOCKED 2026-05-01)
   ============================================ */
.jadwal{
  position:relative;
  padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);
  background:
    radial-gradient(ellipse at 80% 20%, rgba(201,168,76,.04) 0%, transparent 55%),
    var(--bg);
  overflow:hidden
}

/* floating gold motes background (subtle) */
.jadwal-motes{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.jadwal-motes .mote{position:absolute;bottom:-10px;width:2px;height:2px;border-radius:50%;background:radial-gradient(circle,rgba(229,193,106,.7) 0%,rgba(201,168,76,.3) 50%,transparent 100%);opacity:0;animation:floatM linear infinite}
@keyframes floatM{
  0%{transform:translate3d(0,0,0);opacity:0}
  10%{opacity:.55}
  50%{opacity:.75;transform:translate3d(15px,-50vh,0)}
  90%{opacity:.4}
  100%{transform:translate3d(-12px,-100vh,0);opacity:0}
}

.jadwal-wrap{max-width:1240px;margin:0 auto;position:relative;z-index:2}

/* ───── HEADER (eyebrow + heading + subline) ───── */
.jadwal-head{text-align:center;margin-bottom:clamp(48px,6vw,72px);opacity:0;transform:translateY(20px);transition:opacity .9s ease, transform 1s ease}
.jadwal.in-view .jadwal-head{opacity:1;transform:translateY(0)}

.jadwal-eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;justify-content:center
}
.jadwal-eyebrow::before,.jadwal-eyebrow::after{
  content:"";width:34px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)
}
.jadwal h2{
  font-family:"Cinzel Decorative",serif;
  font-weight:900;font-size:clamp(30px,4.4vw,52px);
  line-height:1.1;letter-spacing:.01em;
  margin:0 0 18px;color:var(--cream)
}
.jadwal h2 em{color:var(--gold);font-style:normal}
.jadwal-subline{
  font-style:italic;font-size:clamp(15px,1.5vw,18px);
  color:var(--cream-dim);max-width:620px;margin:0 auto;line-height:1.7
}

/* ornament divider */
.jadwal .ornament{
  display:flex;align-items:center;justify-content:center;gap:18px;
  margin:24px auto;color:var(--gold);max-width:200px
}
.jadwal .ornament::before,.jadwal .ornament::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-soft),transparent)
}
.jadwal .ornament svg{width:14px;height:14px;fill:currentColor;flex-shrink:0;opacity:.85}

/* ───── GRID 3 KARTU ───── */
.jadwal-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.5vw,28px)
}

/* kartu */
.jadwal-card{
  position:relative;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  transition:all .35s cubic-bezier(.22,1,.36,1);
  opacity:0;transform:translateY(28px);
  display:flex;flex-direction:column
}
.jadwal.in-view .jadwal-card{opacity:1;transform:translateY(0)}
.jadwal.in-view .jadwal-card:nth-child(1){transition:opacity .8s ease .2s, transform .9s ease .2s, border-color .25s ease, box-shadow .25s ease}
.jadwal.in-view .jadwal-card:nth-child(2){transition:opacity .8s ease .35s, transform .9s ease .35s, border-color .25s ease, box-shadow .25s ease}
.jadwal.in-view .jadwal-card:nth-child(3){transition:opacity .8s ease .5s, transform .9s ease .5s, border-color .25s ease, box-shadow .25s ease}

.jadwal-card:hover{
  border-color:var(--gold-deep);
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,0,0,.5), 0 0 0 1px rgba(201,168,76,.18)
}

/* link wrapper untuk ke detail */
.jadwal-card-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit;cursor:pointer}

/* photo (poster portrait 4:5) */
.jadwal-photo{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#000
}
.jadwal-photo img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.95) contrast(1.04) saturate(.96);
  transition:transform .8s ease, filter .35s ease
}
.jadwal-card:hover .jadwal-photo img{
  transform:scale(1.05);
  filter:brightness(1) contrast(1.08) saturate(1)
}

/* gradient overlay halus di bawah poster (untuk meta overlay) */
.jadwal-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(13,13,13,.85) 100%);
  pointer-events:none
}

/* meta overlay (jadwal singkat) */
.jadwal-meta-overlay{
  position:absolute;left:14px;bottom:14px;right:60px;
  z-index:2;
  background:rgba(13,13,13,.78);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(201,168,76,.25);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;letter-spacing:.18em;
  color:var(--gold);padding:6px 11px;border-radius:2px;
  text-transform:uppercase;line-height:1.4
}

/* corner sparkles (subtle) */
.jadwal-sparkle{position:absolute;color:var(--gold);font-size:11px;z-index:3;pointer-events:none;opacity:0;text-shadow:0 0 7px rgba(229,193,106,.65);animation:twinkleS 4.5s ease-in-out infinite}
.jadwal-card:nth-child(1) .jadwal-sparkle{top:14px;left:14px;animation-delay:.2s}
.jadwal-card:nth-child(2) .jadwal-sparkle{top:14px;left:14px;animation-delay:1.5s;font-size:9px}
.jadwal-card:nth-child(3) .jadwal-sparkle{top:14px;left:14px;animation-delay:2.8s;color:var(--gold-soft)}
@keyframes twinkleS{
  0%,100%{opacity:0;transform:scale(.5) rotate(0deg)}
  40%{opacity:.95;transform:scale(1.05) rotate(180deg)}
  60%{opacity:.5;transform:scale(.95) rotate(360deg)}
}

/* tombol bagikan (pojok kanan-atas) */
.jadwal-card .share-btn{
  position:absolute;top:14px;right:14px;z-index:5;
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(201,168,76,.45);
  background:rgba(13,13,13,.7);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:var(--gold);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s ease;padding:0
}
.jadwal-card .share-btn:hover,
.jadwal-card .share-btn:focus-visible{
  background:var(--gold);color:#000;border-color:var(--gold);
  transform:scale(1.05);outline:none
}
.jadwal-card .share-btn svg{width:16px;height:16px}

/* body */
.jadwal-body{
  padding:18px 22px 22px;flex:1;
  display:flex;flex-direction:column;gap:8px
}
.jadwal-body h3{
  font-family:"Cinzel Decorative",serif;
  font-weight:700;font-size:19px;letter-spacing:.02em;
  color:var(--cream);margin:0;line-height:1.3
}
.jadwal-body .desc{
  font-style:italic;font-size:14.5px;color:var(--cream-dim);
  margin:0;line-height:1.55
}
.jadwal-body .pengasuh{
  display:flex;align-items:center;gap:8px;
  font-family:"Cormorant Garamond",serif;font-size:13.5px;
  color:var(--cream-dim);margin-top:6px
}
.jadwal-body .pengasuh::before{
  content:"";width:14px;height:1px;background:var(--gold-soft)
}

/* footer kartu — meta detail */
.jadwal-meta-detail{
  display:flex;flex-direction:column;gap:6px;
  margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line)
}
.jadwal-meta-row{
  display:flex;align-items:center;gap:9px;
  font-family:"JetBrains Mono",monospace;font-size:10.5px;
  color:var(--cream-dim);letter-spacing:.08em;text-transform:uppercase
}
.jadwal-meta-row svg{width:13px;height:13px;color:var(--gold);flex-shrink:0}
.jadwal-meta-row .val{color:var(--cream)}

/* ───── BUTTON LIHAT JADWAL LENGKAP ───── */
.jadwal-cta{
  text-align:center;margin-top:clamp(40px,5vw,60px);
  opacity:0;transform:translateY(15px);
  transition:opacity .8s ease .65s, transform .9s ease .65s
}
.jadwal.in-view .jadwal-cta{opacity:1;transform:translateY(0)}
.jadwal-cta .btn-ghost{
  display:inline-flex;align-items:center;gap:12px;
  padding:15px 32px;border:1px solid var(--gold);
  background:transparent;color:var(--gold);
  font-family:"JetBrains Mono",monospace;font-size:11px;
  letter-spacing:.25em;text-transform:uppercase;cursor:pointer;
  transition:all .35s ease;text-decoration:none;
  position:relative;overflow:hidden
}
.jadwal-cta .btn-ghost::before{
  content:"";position:absolute;inset:0;
  background:var(--gold);transform:translateX(-100%);
  transition:transform .4s ease;z-index:-1
}
.jadwal-cta .btn-ghost:hover::before{transform:translateX(0)}
.jadwal-cta .btn-ghost:hover{color:#000;border-color:var(--gold)}
.jadwal-cta .btn-ghost svg{transition:transform .3s ease}
.jadwal-cta .btn-ghost:hover svg{transform:translateX(4px)}

/* ───── SHARE DROPDOWN (desktop fallback) ───── */
.share-popover{
  position:absolute;top:60px;right:14px;z-index:50;
  background:var(--bg-2);border:1px solid var(--gold-deep);
  border-radius:4px;padding:6px;min-width:180px;
  box-shadow:0 16px 40px rgba(0,0,0,.6);
  display:none;flex-direction:column;gap:2px;
  animation:popIn .2s ease
}
.share-popover.show{display:flex}
@keyframes popIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.share-popover button,.share-popover a{
  display:flex;align-items:center;gap:10px;
  background:none;border:none;color:var(--cream);
  font-family:"Cormorant Garamond",serif;font-size:14px;
  padding:8px 12px;text-align:left;cursor:pointer;
  border-radius:2px;transition:background .2s ease;
  text-decoration:none
}
.share-popover button:hover,.share-popover a:hover{
  background:rgba(201,168,76,.12);color:var(--gold)
}
.share-popover svg{width:14px;height:14px;color:var(--gold)}

/* toast notif "tersalin" */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--bg-2);border:1px solid var(--gold);
  color:var(--gold);padding:12px 22px;border-radius:4px;
  font-family:"JetBrains Mono",monospace;font-size:12px;
  letter-spacing:.15em;box-shadow:0 12px 30px rgba(0,0,0,.5);
  z-index:1000;opacity:0;transition:opacity .3s ease, transform .3s ease;
  pointer-events:none
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}

/* ───── MOBILE ───── */
@media (max-width: 920px){
  .jadwal{padding:64px 20px}
  .jadwal-grid{grid-template-columns:1fr;gap:20px;max-width:480px;margin:0 auto}
  .jadwal h2{font-size:28px;margin-bottom:14px}
  .jadwal-subline{font-size:14.5px}
  .jadwal-eyebrow{font-size:9.5px;letter-spacing:.32em}
  .jadwal-eyebrow::before,.jadwal-eyebrow::after{width:24px}

  .jadwal-card-link{flex-direction:row}
  .jadwal-photo{aspect-ratio:1/1;width:42%;flex-shrink:0}
  .jadwal-meta-overlay{display:none}
  .jadwal-body{padding:14px 16px;flex:1}
  .jadwal-body h3{font-size:16px}
  .jadwal-body .desc{font-size:13.5px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .jadwal-body .pengasuh{font-size:12.5px}
  .jadwal-meta-detail{padding-top:8px;margin-top:8px}
  .jadwal-meta-row{font-size:9.5px}
  .jadwal-card .share-btn{width:32px;height:32px}
  .jadwal-card .share-btn svg{width:14px;height:14px}
}

@media (max-width: 480px){
  .jadwal-card-link{flex-direction:column}
  .jadwal-photo{width:100%;aspect-ratio:4/5}
  .jadwal-body h3{font-size:17px}
  .jadwal-body .desc{-webkit-line-clamp:3}
}

/* ───── Reduced motion ───── */
@media (prefers-reduced-motion: reduce){
  .jadwal-head,.jadwal-card,.jadwal-cta{transition:none;opacity:1;transform:none}
  .jadwal-photo img{transition:none}
  .jadwal-card:hover{transform:none}
  .jadwal-card:hover .jadwal-photo img{transform:none}
  .jadwal-motes .mote,.jadwal-sparkle{animation:none}
  .jadwal-sparkle{opacity:.5}
}
