/* Rinkimų programos accordion – dvi subalansuotos nepriklausomos kolonos. */
.pkm-program,
.pkm-program * { box-sizing:border-box; letter-spacing:normal; }
.pkm-program { --pkm-program-orange:#ff8200; width:100%; max-width:1100px; margin:0 auto; color:#222; font-family:inherit; }
.pkm-program .pkm-program__heading {
    display:block; margin:0 0 28px!important; padding:0;
    font-size:clamp(22px,2vw,28px)!important; line-height:1.3!important;
    font-weight:500!important; color:var(--pkm-program-orange)!important;
    text-align:left; text-transform:none;
}
.pkm-program__columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px; align-items:start; }
.pkm-program__column { min-width:0; }
.pkm-program__item { border-bottom:2px solid #292929; margin:0; padding:0; min-width:0; }
.pkm-program .pkm-program__trigger {
    display:grid; grid-template-columns:36px minmax(0,1fr) 22px;
    gap:16px; align-items:center; width:100%; min-width:0;
    padding:20px 0 22px; margin:0; border:0; border-radius:0;
    box-shadow:none; background:transparent; color:inherit;
    font-family:inherit; text-align:left; text-decoration:none;
    cursor:pointer; transition:color .22s ease;
}
.pkm-program .pkm-program__trigger:hover,
.pkm-program .pkm-program__trigger:focus { background:transparent; color:inherit; box-shadow:none; }
.pkm-program .pkm-program__trigger:focus-visible { outline:2px solid var(--pkm-program-orange); outline-offset:4px; }
.pkm-program .pkm-program__trigger--static { cursor:default; }
.pkm-program__clock { width:40px; height:40px; margin-top:1px; display:block; }
.pkm-program__clock img { display:block; width:100%; height:100%; object-fit:contain; }
.pkm-program__labels { display:block; min-width:0; padding:0 0 1px; }
.pkm-program .pkm-program__title {
    display:block;color:var(--pkm-program-orange);
    font-size:clamp(18px,1.5vw,22px)!important; line-height:1.18!important;
    font-weight:500!important; overflow-wrap:anywhere; text-transform:none;
}
.pkm-program .pkm-program__summary {
    display:block; font-size:13px!important; line-height:1.5!important;
    font-weight:400!important; color:#333!important; overflow-wrap:anywhere;
}
.pkm-program__chevron {
    display:grid; place-items:center; width:20px; height:20px; margin-top:2px;
    border-radius:50%; color:white; background:#ffca91;
    transition:background .25s ease, transform .3s cubic-bezier(.2,.78,.2,1);
}
.pkm-program__chevron svg { display:block; width:14px; height:14px; transition:transform .28s cubic-bezier(.2,.78,.2,1); }
.pkm-program__trigger:hover .pkm-program__chevron { background:var(--pkm-program-orange); }
.pkm-program__item.is-open .pkm-program__chevron svg { transform:rotate(180deg); }
.pkm-program__panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .38s cubic-bezier(.24,.8,.2,1), opacity .28s ease; }
.pkm-program__item.is-open .pkm-program__panel { grid-template-rows:1fr; opacity:1; }
.pkm-program__panel-clip { min-height:0; overflow:hidden; }
/* Montserrat is applied only to the expanded content, not program titles. */
.pkm-program .pkm-program__body,
.pkm-program .pkm-program__body * { font-family:'Montserrat', sans-serif!important; }
.pkm-program .pkm-program__body {
    padding:0 38px 24px 52px; color:#282828;
    font-size:14px!important; line-height:1.45!important;
    font-weight:400!important; overflow-wrap:break-word;
}
.pkm-program .pkm-program__body p { margin:0 0 10px!important; color:inherit!important; font-size:inherit!important; line-height:inherit!important; font-weight:inherit!important; }
.pkm-program .pkm-program__body p:last-child { margin-bottom:0!important; }
@media (max-width:900px) {
    .pkm-program { padding:0 24px; }
    .pkm-city .pkm-program { padding:0; } /* City already has a 24px inner margin. */
    .pkm-program__columns { gap:28px; }
    .pkm-program .pkm-program__trigger { grid-template-columns:32px minmax(0,1fr) 20px; gap:12px; }
    .pkm-program .pkm-program__body { padding-left:44px; padding-right:16px; }
}
@media (max-width:650px) {
    .pkm-program__columns { grid-template-columns:minmax(0,1fr); gap:0; }
    .pkm-program .pkm-program__heading { margin-bottom:13px!important; }
    .pkm-program .pkm-program__trigger { padding:18px 0 20px; }
    .pkm-program .pkm-program__title { font-size:19px!important; }
    .pkm-program .pkm-program__body { padding-bottom:20px; }
}
@media (prefers-reduced-motion:reduce) {
    .pkm-program *, .pkm-program *::before, .pkm-program *::after { transition:none!important; animation:none!important; }
}

/* Kauno miesto SVG schemai: 1 pilno pločio eilutė virš jos, 2 eilutės po ja. */
.pkm-city .pkm-bubble-program .pkm-program--kaunas {
    width:100%; max-width:100%; padding:0; margin:0 auto;
}
.pkm-city .pkm-bubble-program .pkm-program--kaunas-top { margin-bottom:30px; }
.pkm-city .pkm-bubble-program .pkm-program--kaunas-bottom { margin-top:58px; }
.pkm-program--kaunas .pkm-program__columns { display:block; }
.pkm-program--kaunas .pkm-program__column { width:100%; }
@media(max-width:650px) {
    .pkm-city .pkm-bubble-program .pkm-program--kaunas-top { margin-bottom:22px; }
    .pkm-city .pkm-bubble-program .pkm-program--kaunas-bottom { margin-top:34px; }
}
