/* Indonesia & Bali holiday calendar - the calculator's look
   (tool-visa-calculator.css is loaded too). */

.kia-hol {
    --hol-national: var(--primary_color, #ff5351);
    --hol-cuti: #f59e0b;
    --hol-hindu: #8b5cf6;
}

/* ------------------------------------------------- top: next + controls */

.kia-hol-top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 30px; align-items: stretch; }
.kia-hol-next {
    display: flex; flex-direction: column; justify-content: center; gap: 6px;
    background: var(--calc-dark); color: #a4acb3; padding: 30px 32px;
    border-left: 3px solid var(--calc-accent);
    box-shadow: 0 20px 50px -30px rgba(24, 25, 33, .35);
}
.kia-hol-next__label { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--calc-accent); }
.kia-hol-next__name { color: #fff; font-size: 22px; line-height: 1.3; }
.kia-hol-next__date { font-size: 15px; }

.kia-hol-controls { background: #fff; border: 1px solid var(--calc-line); padding: 24px 26px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 20px 50px -30px rgba(24, 25, 33, .35); }
.kia-hol-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.kia-hol-row__label { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--calc-ink); min-width: 52px; }
.kia-hol-year {
    padding: 8px 18px; border: 1px solid var(--calc-line); border-radius: 0; background: #fff;
    color: var(--calc-ink); font: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
}
.kia-hol-year[aria-pressed="true"] { background: var(--calc-dark); border-color: var(--calc-dark); color: #fff; }
.kia-hol-type { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--calc-ink); cursor: pointer; }
.kia-hol-type input { width: 17px; height: 17px; margin: 0; accent-color: var(--calc-dark); cursor: pointer; }
.kia-hol-dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.kia-hol-dot--national { background: var(--hol-national); }
.kia-hol-dot--cuti { background: var(--hol-cuti); }
.kia-hol-dot--hindu { background: var(--hol-hindu); }
.kia-hol-ics { display: inline-flex; align-items: center; gap: 8px; text-align: left; }

/* ---------------------------------------------------------- the grid */

.kia-hol-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.kia-hol-month { background: #fff; border: 1px solid var(--calc-line); padding: 16px 14px 14px; }
.kia-hol-month h3 { margin: 0 0 10px; font-size: 16px; }
.kia-hol-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; text-align: center; }
.kia-hol-dow { font-size: 11px; font-weight: 600; color: var(--calc-muted); padding-bottom: 4px; }
.kia-hol-dow.is-weekend { color: var(--calc-accent); }
.kia-hol-day {
    display: flex; align-items: center; justify-content: center; aspect-ratio: 1; min-width: 0;
    font-size: 13px; color: var(--calc-ink); border-radius: 50%; border: 0; padding: 0; background: none; font-family: inherit;
}
.kia-hol-day.is-weekend { color: var(--calc-muted); }
button.kia-hol-day, button.kia-hol-day.is-weekend { cursor: pointer; font-weight: 700; color: #fff; }
.kia-hol-day.is-national { background: var(--hol-national); }
.kia-hol-day.is-cuti { background: var(--hol-cuti); }
.kia-hol-day.is-hindu { background: var(--hol-hindu); }
/* two kinds on one day: split the circle */
.kia-hol-day.is-national.is-hindu-2 { background: linear-gradient(135deg, var(--hol-national) 50%, var(--hol-hindu) 50%); }
.kia-hol-day.is-cuti.is-hindu-2 { background: linear-gradient(135deg, var(--hol-cuti) 50%, var(--hol-hindu) 50%); }
.kia-hol-day.is-today { box-shadow: 0 0 0 2px var(--calc-dark); }
button.kia-hol-day:hover, button.kia-hol-day:focus-visible { outline: 2px solid var(--calc-dark); outline-offset: 1px; }

/* ------------------------------------------------------ long weekends */

.kia-hol-long { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kia-hol-long li { display: grid; grid-template-columns: auto 1fr; gap: 2px 16px; align-items: center; padding: 14px 18px; background: #fff; border: 1px solid var(--calc-line); border-left: 3px solid var(--calc-accent); }
.kia-hol-long li.is-past { opacity: .5; border-left-color: var(--calc-line); }
.kia-hol-long__days { grid-row: span 2; font-size: 20px; font-weight: 700; color: var(--calc-ink); white-space: nowrap; }
.kia-hol-long__when { font-weight: 600; color: var(--calc-ink); font-size: 15px; }
.kia-hol-long__what { font-size: 14px; color: var(--calc-muted); }

/* ---------------------------------------------------------- the list */

.kia-hol-table td:first-child { white-space: nowrap; }
.kia-hol-table tr[hidden], .kia-hol-tablewrap[hidden] { display: none; }
.kia-hol-table tr.is-past { opacity: .5; }
.kia-hol-table tr.is-flash { animation: kia-hol-flash 1.6s ease-out; }
@keyframes kia-hol-flash { 0%, 40% { background: #fff4d6; } 100% { background: transparent; } }
.kia-hol-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; white-space: nowrap; }
.kia-hol-office { font-size: 14px; }
.kia-hol-office--closed { color: var(--calc-accent); font-weight: 600; }

/* --------------------------------------------------------- responsive */

@media (max-width: 1199.98px) { .kia-hol-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991.98px) {
    .kia-hol-top { grid-template-columns: 1fr; }
    .kia-hol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kia-hol-long { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .kia-hol-grid { grid-template-columns: 1fr; }
    .kia-hol-next, .kia-hol-controls { padding: 22px 20px; }
    .kia-hol-ics { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .kia-hol-table tr.is-flash { animation: none; } }
