/* kalender-jawa.css — FINAL */
/* ====== Wrapper & Heading ====== */
#kalender-jawa-page .wrap{max-width:1200px;margin:0 auto;padding:0 16px}
#kalender-jawa-page .kjw-h1{
  color:#f7d977;font-weight:800;margin:10px 0 6px;
  text-align:center;font-size:clamp(18px,3.4vw,26px)
}

/* ====== Controls ====== */
#kalender-jawa-page .kjw-controls{
  display:flex;gap:.5rem;align-items:center;margin:10px 0 12px;
  flex-wrap:wrap;justify-content:center
}
#kalender-jawa-page .kjw-btn{
  background:linear-gradient(180deg,#ffd36b,#d6a638);
  border:0;border-radius:999px;padding:.45rem .75rem;
  font-weight:700;cursor:pointer
}
#kalender-jawa-page .kjw-select,
#kalender-jawa-page .kjw-input{
  background:#0f1319;color:#fff;border:1px solid rgba(217,167,61,.35);
  border-radius:10px;padding:.42rem .65rem
}

/* ====== Scroll wrapper ====== */
#kalender-jawa-page #kjw-calendar-scroll{
  -webkit-overflow-scrolling:touch;
  padding:10px 0;
  max-width:1200px;
  margin:0 auto;
  overflow-x: hidden; /* default aman untuk LIST */
}

/* ====== Grid base ====== */
#kalender-jawa-page #kjw-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(120px,1fr));
  gap:.5rem;
  min-width:980px;
  transform-origin:top center;
  margin:0 auto;
}

/* ====== Header & Cell ====== */
#kalender-jawa-page .kjw-day-header{
  text-align:center;font-weight:700;color:#f6f6f6;background:rgba(217,167,61,.06);
  border:1px solid rgba(217,167,61,.25);border-radius:10px;padding:.35rem .2rem
}
#kalender-jawa-page .kjw-calendar-cell{
  background:#1a1f26;border:1px solid rgba(217,167,61,.25);border-radius:12px;padding:.55rem;
  min-height:96px;display:flex;flex-direction:column;gap:.28rem;box-sizing:border-box
}
#kalender-jawa-page .kjw-top{display:flex;justify-content:space-between;align-items:center}
#kalender-jawa-page .kjw-date{color:#f7d977;font-weight:800;font-size:17px;display:inline-flex;align-items:center;gap:8px}
#kalender-jawa-page .kjw-weton{color:#fff;font-weight:600;font-size:.92rem;line-height:1.3}
#kalender-jawa-page .kjw-wuku-mini{color:#cfd3db;font-size:.82rem;line-height:1.3}
#kalender-jawa-page .kjw-mangsa{color:#cfd3db;font-size:.8rem;line-height:1.3}
#kalender-jawa-page .kjw-badge{font-size:.72rem;padding:.1rem .48rem;border-radius:999px;background:#2a2f37;border:1px solid rgba(255,255,255,.08);text-transform:capitalize}
#kalender-jawa-page .kjw-badge.baik{background:#0e3e23;border-color:#2cb36a;color:#a6f3c7}
#kalender-jawa-page .kjw-badge.netral{background:#2c2c2c;color:#eee}
#kalender-jawa-page .kjw-badge.buruk{background:#3b1010;border-color:#cc5656;color:#ffc7c7}
#kalender-jawa-page .kjw-today{outline:2px solid #d9a73d;outline-offset:2px;border-radius:12px}

/* Chip libur/cuti + label */
#kalender-jawa-page .kjw-chip{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;border:1px solid transparent;vertical-align:middle}
#kalender-jawa-page .kjw-chip-holiday{background:#cc5656;border-color:#ffb9b9}
#kalender-jawa-page .kjw-chip-joint{background:#b38a1e;border-color:#ffe08a}
#kalender-jawa-page .kjw-libur-cell .kjw-date{color:#ffcece}
#kalender-jawa-page .kjw-joint-cell .kjw-date{color:#ffe6a3}
#kalender-jawa-page .kjw-libur-name{color:#ffcece;font-size:.82rem;font-weight:600}
#kalender-jawa-page .kjw-joint-name{color:#ffe6a3;font-size:.82rem;font-weight:600}
#kjw-calendar.kjw-hide-holidays .kjw-chip,
#kjw-calendar.kjw-hide-holidays .kjw-libur-name,
#kjw-calendar.kjw-hide-holidays .kjw-joint-name{display:none!important}

/* ====== MODE GRID (rasa desktop) ====== */
#kjw-calendar.view-grid{ display:grid; min-width:980px }
#kjw-calendar.view-grid .kjw-day-header{ display:block }
#kjw-calendar.view-grid .kjw-prev-month,
#kjw-calendar.view-grid .kjw-next-month{ visibility:visible } /* spacer grid */
#kjw-calendar.view-grid .kjw-mangsa,
#kjw-calendar.view-grid .kjw-libur-name,
#kjw-calendar.view-grid .kjw-joint-name{ /* ringkas agar tidak padat */
  display:none
}

/* Scaling hanya untuk GRID ketika viewport sempit */
@media (max-width: 980px){
  #kjw-calendar.view-grid{
    /* JS akan meng-scale; CSS biarkan natural */
  }
}

/* ====== MODE LIST (default mobile) ====== */
#kjw-calendar.view-list{
  /* ubah dari grid 7 kolom menjadi list 1 kolom */
  display:block;
  min-width:0;
}
#kjw-calendar.view-list .kjw-day-header{ display:none } /* header hari disembunyikan */
#kjw-calendar.view-list .kjw-prev-month,
#kjw-calendar.view-list .kjw-next-month{ display:none } /* buang sel kosong */
#kjw-calendar.view-list .kjw-calendar-cell{
  /* card penuh lebar */
  width:100%;
  margin:0 0 10px 0;
  padding:.75rem .85rem;
}
#kjw-calendar.view-list .kjw-date{ font-size:18px }
#kjw-calendar.view-list .kjw-weton{ font-size:.96rem }
#kjw-calendar.view-list .kjw-wuku-mini,
#kjw-calendar.view-list .kjw-mangsa,
#kjw-calendar.view-list .kjw-libur-name,
#kjw-calendar.view-list .kjw-joint-name{ display:block }

/* wrapper aman untuk LIST */
#kalender-jawa-page #kjw-calendar-scroll.view-list-wrap{
  overflow-x:hidden; /* tidak akan geser samping */
}

/* ====== SEO/BLOK BAWAH (ringkas) ====== */
#kalender-jawa-page .kjw-seo{margin:8px auto 6px;max-width:820px}
#kalender-jawa-page .kjw-seo h2{color:#f7d977;font-weight:800;margin:8px 0 6px;text-align:center;font-size:clamp(16px,2.9vw,20px)}
#kalender-jawa-page .kjw-seo ol{color:#cfd3db;line-height:1.55;padding-left:1.15rem;margin:6px 0 0;font-size:clamp(13px,2.6vw,15px)}
#kalender-jawa-page .kjw-brief,
#kalender-jawa-page .kjw-legend-explain,
#kalender-jawa-page .kjw-libur,
#kalender-jawa-page .kjw-gloss,
#kalender-jawa-page .kjw-faq,
#kalender-jawa-page .kjw-eeat{max-width:820px;margin:16px auto 0;padding:0 16px}
#kalender-jawa-page .kjw-legend-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
#kalender-jawa-page .badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.75rem;border:1px solid rgba(255,255,255,.08)}
#kalender-jawa-page .badge.baik{background:#0e3e23;border-color:#2cb36a;color:#a6f3c7}
#kalender-jawa-page .badge.netral{background:#2c2c2c;color:#eee}
#kalender-jawa-page .badge.buruk{background:#3b1010;border-color:#cc5656;color:#ffc7c7}

/* ====== Desktop cleanup ====== */
@media (min-width: 992px){
  #kalender-jawa-page #kjw-calendar-scroll{ max-width:1200px; margin:0 auto }
  #kjw-calendar.view-list .kjw-calendar-cell{ max-width:720px; margin:0 auto 10px }
}
/* ===== HARD OVERRIDE: Mode LIST benar2 1 kolom + scroll ===== */
#kjw-calendar.view-list{
  display:block !important;               /* bukan grid */
  min-width:0 !important;                 
  grid-template-columns:none !important;  /* matikan definisi grid */
  transform:none !important;              /* pastikan tidak terscale */
}

#kjw-calendar.view-list .kjw-calendar-cell{
  width:100% !important;
  margin:0 0 10px !important;
}

#kjw-calendar-scroll.view-list-wrap{
  overflow-x:hidden !important;
  overflow-y:visible !important;
  height:auto !important;                 /* buang tinggi sisa mode grid */
  display:block !important;               /* jangan flex centering */
  justify-content:normal !important;
}