.slsk-wrap{
  --slsk-primary:#123f72;
  --slsk-accent:#f39a22;
  --slsk-section-bg:transparent;
  --slsk-card-bg:#ffffff;
  --slsk-date-bg:#f4f8fc;
  --slsk-title:#102e55;
  --slsk-text:#24364b;
  --slsk-muted:#708095;
  --slsk-border:#e3eaf1;
  --slsk-status-bg:#eef7e8;
  --slsk-status-text:#4f831b;
  --slsk-radius:14px;
  --slsk-gap:12px;
  --slsk-cols:2;
  --slsk-card-h:86px;
  --slsk-shadow:0 7px 22px rgba(15,50,85,.055);
  position:relative;
  width:100%;
  padding:0;
  background-color:var(--slsk-section-bg);
  color:var(--slsk-text);
  font-family:inherit;
  box-sizing:border-box;
}
.slsk-wrap,.slsk-wrap *{box-sizing:border-box}
.slsk-wrap button{font:inherit}

/* Moderni stilovi - boja kartice više nije vezana za boju pozadine bloka */
.slsk-style-clean{
  --slsk-section-bg:transparent;
  --slsk-card-bg:#fff;
  --slsk-date-bg:#f3f7fb;
  --slsk-border:#e2e9f0;
  --slsk-shadow:0 7px 22px rgba(15,50,85,.055);
}
.slsk-style-soft{
  --slsk-section-bg:#f7f9fc;
  --slsk-card-bg:#fff;
  --slsk-date-bg:#eef4fa;
  --slsk-border:#e4ebf2;
  --slsk-shadow:0 5px 18px rgba(19,52,87,.045);
  padding:14px;
  border-radius:18px;
}
.slsk-style-outline{
  --slsk-section-bg:transparent;
  --slsk-card-bg:#fff;
  --slsk-date-bg:#fff;
  --slsk-border:#d8e1e9;
  --slsk-shadow:none;
}
.slsk-style-outline .slsk-card{border-width:1px;border-left:3px solid var(--slsk-event-accent,var(--slsk-accent))}
.slsk-style-school{
  --slsk-primary:#173f69;
  --slsk-accent:#f08a1a;
  --slsk-section-bg:#fffaf2;
  --slsk-card-bg:#fffefb;
  --slsk-date-bg:#fff4df;
  --slsk-border:#efe1c9;
  --slsk-shadow:0 6px 20px rgba(91,67,28,.055);
  padding:14px;
  border-radius:18px;
}
.slsk-style-dark{
  --slsk-primary:#f7fbff;
  --slsk-accent:#ffad36;
  --slsk-section-bg:#0b2f55;
  --slsk-card-bg:#113b63;
  --slsk-date-bg:#f7fafc;
  --slsk-title:#ffffff;
  --slsk-text:#f4f8fc;
  --slsk-muted:#c0d1e0;
  --slsk-border:rgba(255,255,255,.14);
  --slsk-status-bg:rgba(155,210,97,.14);
  --slsk-status-text:#d2f2a9;
  --slsk-shadow:0 8px 26px rgba(1,19,36,.16);
  padding:14px;
  border-radius:18px;
}
.slsk-density-normal{--slsk-card-h:100px}

/* Header */
.slsk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 10px}
.slsk-head-copy{min-width:0}
.slsk-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.slsk-title-row h2{margin:0;color:var(--slsk-title);font-size:clamp(21px,2vw,28px);line-height:1.05;font-weight:850;letter-spacing:-.025em}
.slsk-year{display:inline-flex;align-items:center;min-height:22px;padding:4px 8px;border:1px solid var(--slsk-border);border-radius:999px;background:var(--slsk-card-bg);color:var(--slsk-primary);font-size:10px;line-height:1;font-weight:800}
.slsk-head p{margin:4px 0 0;color:var(--slsk-muted);font-size:12px;line-height:1.35}
.slsk-head-nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}

/* Carousel shell */
.slsk-carousel-shell{position:relative;min-width:0}
.slsk-track{display:grid;gap:var(--slsk-gap);outline:none;min-width:0}
.slsk-layout-grid .slsk-track{grid-template-columns:repeat(var(--slsk-cols),minmax(0,1fr))}
.slsk-layout-carousel .slsk-track{
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - ((var(--slsk-cols) - 1) * var(--slsk-gap)))/var(--slsk-cols));
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scroll-behavior:smooth;
  padding:2px 1px 5px;
  scrollbar-width:none;
}
.slsk-layout-carousel .slsk-track::-webkit-scrollbar{display:none}
.slsk-nav-btn{
  position:relative;
  z-index:5;
  inset:auto;
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid var(--slsk-border) !important;
  border-radius:10px !important;
  background:var(--slsk-card-bg) !important;
  background-color:var(--slsk-card-bg) !important;
  color:var(--slsk-primary) !important;
  box-shadow:0 4px 14px rgba(20,45,72,.08) !important;
  line-height:0 !important;
  cursor:pointer;
  transform:none !important;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease;
}
.slsk-nav-btn:hover{transform:translateY(-1px) !important;border-color:color-mix(in srgb,var(--slsk-primary) 25%,var(--slsk-border)) !important}
.slsk-nav-btn svg{display:block;width:15px;height:15px;margin:0 !important}
.slsk-nav-btn.is-disabled{opacity:.28;pointer-events:none}
.slsk-style-dark .slsk-nav-btn{background:#fff !important;background-color:#fff !important;color:#123f72 !important;border-color:rgba(255,255,255,.35) !important}

/* Kartice */
.slsk-card{
  --slsk-event-accent:#1d75bd;
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 26px;
  gap:10px;
  align-items:center;
  min-width:0;
  min-height:var(--slsk-card-h);
  padding:9px 10px;
  border:1px solid var(--slsk-border);
  border-radius:var(--slsk-radius);
  background:var(--slsk-card-bg) !important;
  background-color:var(--slsk-card-bg) !important;
  background-image:none !important;
  color:var(--slsk-text) !important;
  text-align:left;
  cursor:pointer;
  scroll-snap-align:start;
  box-shadow:var(--slsk-shadow);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease;
}
/* Zaštita od Elementor/theme globalnih button stilova.
   Boje i dalje menjaju Elementor kontrole preko CSS varijabli iznad. */
.elementor-widget-sl-skolski-kalendar .slsk-wrap .slsk-card,
.elementor .elementor-widget-sl-skolski-kalendar .slsk-wrap button.slsk-card,
.slsk-wrap button.slsk-card{
  background:var(--slsk-card-bg) !important;
  background-color:var(--slsk-card-bg) !important;
  background-image:none !important;
  color:var(--slsk-text) !important;
}
.elementor-widget-sl-skolski-kalendar .slsk-wrap .slsk-datebox,
.slsk-wrap .slsk-datebox{background:var(--slsk-date-bg) !important;background-color:var(--slsk-date-bg) !important}
.elementor-widget-sl-skolski-kalendar .slsk-wrap .slsk-card-title,
.slsk-wrap .slsk-card-title{color:var(--slsk-title) !important}
.elementor-widget-sl-skolski-kalendar .slsk-wrap,
.slsk-wrap{background-color:var(--slsk-section-bg) !important}

.slsk-card:hover{transform:translateY(-1px);background:var(--slsk-card-bg) !important;background-color:var(--slsk-card-bg) !important;border-color:color-mix(in srgb,var(--slsk-event-accent) 28%,var(--slsk-border));box-shadow:0 10px 28px rgba(15,50,85,.08)}
.slsk-card:focus-visible{outline:3px solid rgba(29,117,189,.16);outline-offset:2px}
.slsk-card.is-target:before,.slsk-card.is-current:before{
  content:"";
  position:absolute;
  left:-1px;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:var(--slsk-event-accent);
}
.slsk-card.is-past{opacity:.66}
.slsk-card.is-past:hover{opacity:.92}
.slsk-cat-start{--slsk-event-accent:#2e7cc4}
.slsk-cat-break{--slsk-event-accent:#72a72b}
.slsk-cat-semester{--slsk-event-accent:#7258b7}
.slsk-cat-holiday{--slsk-event-accent:#e38b18}
.slsk-cat-end{--slsk-event-accent:#d85858}
.slsk-cat-important{--slsk-event-accent:#248e89}

.slsk-datebox{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:54px;
  min-height:62px;
  border:1px solid var(--slsk-border);
  border-radius:11px;
  background-color:var(--slsk-date-bg);
  color:var(--slsk-primary);
}
.slsk-datebox strong{font-size:22px;line-height:1;font-weight:900;letter-spacing:-.04em}
.slsk-datebox>span{margin-top:3px;font-size:8.5px;line-height:1;font-weight:850;letter-spacing:.1em}
.slsk-datebox small{margin-top:4px;padding-top:4px;border-top:1px solid var(--slsk-border);color:var(--slsk-muted);font-size:7.7px;line-height:1;font-weight:750}
.slsk-card-main{display:block;min-width:0}
.slsk-card-top{display:flex;align-items:center;gap:6px;margin-bottom:4px;min-width:0}
.slsk-icon{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:7px;background:color-mix(in srgb,var(--slsk-event-accent) 10%,var(--slsk-card-bg));color:var(--slsk-event-accent)}
.slsk-icon svg{width:13px;height:13px}
.slsk-meta{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}
.slsk-meta>span,.slsk-meta em{display:inline-flex;align-items:center;min-height:17px;padding:3px 6px;border-radius:999px;font-style:normal;font-size:7.8px;line-height:1;font-weight:850;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.slsk-meta>span{background:color-mix(in srgb,var(--slsk-muted) 9%,var(--slsk-card-bg));color:var(--slsk-muted)}
.slsk-meta em{background:var(--slsk-status-bg);color:var(--slsk-status-text)}
.slsk-card.is-current .slsk-meta em{background:color-mix(in srgb,var(--slsk-event-accent) 13%,var(--slsk-card-bg));color:var(--slsk-event-accent)}
.slsk-card-title{display:block;color:var(--slsk-title);font-size:14px;line-height:1.18;font-weight:850;letter-spacing:-.012em}
.slsk-card-note{display:-webkit-box;margin-top:3px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;color:var(--slsk-muted);font-size:10.5px;line-height:1.3}
.slsk-open{display:flex;align-items:center;justify-content:center;width:25px;height:25px;padding:0;margin:0;border-radius:50%;background:color-mix(in srgb,var(--slsk-primary) 6%,var(--slsk-card-bg));color:var(--slsk-primary);line-height:0;transition:transform .16s ease,background-color .16s ease,color .16s ease}
.slsk-open svg{display:block;width:13px;height:13px;margin:0}
.slsk-card:hover .slsk-open{transform:translateX(2px);background:var(--slsk-primary);color:#fff}
.slsk-style-dark .slsk-card:hover .slsk-open{background:#fff;color:#123f72}
.slsk-foot{margin-top:7px;color:var(--slsk-muted);font-size:10.5px;line-height:1.35}

/* Modal - bez izvora */
.slsk-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px}
.slsk-modal.is-open{display:flex}
.slsk-modal-backdrop{position:absolute;inset:0;background:rgba(5,18,31,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.slsk-dialog{position:relative;z-index:2;width:min(430px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px 22px 21px;border:1px solid rgba(255,255,255,.55);border-radius:20px;background:#fff;color:#22344a;box-shadow:0 28px 85px rgba(1,20,38,.28);animation:slskPop .18s ease-out}
@keyframes slskPop{from{opacity:0;transform:translateY(8px) scale(.988)}to{opacity:1;transform:none}}
.slsk-close{position:absolute;right:11px;top:11px;display:flex !important;align-items:center !important;justify-content:center !important;width:33px;height:33px;padding:0 !important;margin:0 !important;border:1px solid #e3eaf1 !important;border-radius:10px !important;background:#f7f9fb !important;background-color:#f7f9fb !important;color:#627188 !important;line-height:0 !important;cursor:pointer}
.slsk-close svg{display:block;width:16px;height:16px;margin:0 !important}
.slsk-dialog-mark{display:grid;place-items:center;width:40px;height:40px;margin-bottom:11px;border-radius:12px;background:#edf4fb;color:#1d75bd}
.slsk-dialog-mark svg{width:20px;height:20px}
.slsk-dialog-category{display:inline-flex;align-items:center;min-height:21px;padding:4px 8px;border-radius:999px;background:#f0f3f6;color:#68778b;font-size:8.5px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.slsk-dialog h3{margin:8px 42px 0 0;color:#102e55;font-size:21px;line-height:1.15;font-weight:900;letter-spacing:-.025em}
.slsk-dialog-date{margin-top:7px;color:#66778c;font-size:12.5px;font-weight:750}
.slsk-dialog-note{margin:14px 0 0;padding-top:14px;border-top:1px solid #e6ebf0;color:#26384d;font-size:13.5px;line-height:1.55;white-space:pre-line}
body.slsk-modal-open{overflow:hidden}

/* Sledeći datum */
.slsk-next-card{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid #e2e9f0;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(15,50,85,.05)}
.slsk-next-ico{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#edf4fb;color:#1d75bd}
.slsk-next-ico svg{width:19px;height:19px}
.slsk-next-copy{display:flex;min-width:0;flex-direction:column}
.slsk-next-copy small{color:#7a8798;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.slsk-next-copy strong{margin-top:2px;color:#102e55;font-size:14px;line-height:1.2}
.slsk-next-copy>span{margin-top:2px;color:#697688;font-size:10.5px}

/* Elementor editor i live koriste potpuno isti render */
.elementor-editor-active .slsk-wrap,.elementor-edit-area .slsk-wrap{min-width:0}
.elementor-editor-active .slsk-track,.elementor-edit-area .slsk-track{min-width:0}

@media(max-width:820px){
  .slsk-layout-grid .slsk-track{grid-template-columns:1fr}
  .slsk-layout-carousel .slsk-track{grid-auto-columns:calc((100% - var(--slsk-gap))/1.08)}
  .slsk-prev{left:4px}.slsk-next{right:4px}
  .slsk-nav-btn{width:32px;height:32px}
  .slsk-carousel-shell{padding-inline:0}
}
@media(max-width:520px){
  .slsk-style-soft,.slsk-style-school,.slsk-style-dark{padding:11px;border-radius:15px}
  .slsk-head{margin-bottom:8px}
  .slsk-title-row h2{font-size:21px}
  .slsk-head p{font-size:11.5px}
  .slsk-year{font-size:9.5px;min-height:21px}
  .slsk-card{grid-template-columns:52px minmax(0,1fr) 24px;gap:8px;min-height:84px;padding:8px 9px}
  .slsk-datebox{width:52px;min-height:60px}
  .slsk-datebox strong{font-size:21px}
  .slsk-card-title{font-size:13.5px}
  .slsk-meta>span,.slsk-meta em{font-size:7.3px;padding:3px 5px}
  .slsk-dialog{padding:20px 18px;border-radius:18px}
  .slsk-dialog h3{font-size:20px}
}

/* 1.3.1 – navigacija ostaje gore desno, nikad preko kartica */
@media (max-width:640px){
  .slsk-head{align-items:flex-start}
  .slsk-head-nav{padding-top:1px}
  .slsk-nav-btn{width:32px;height:32px;min-width:32px;min-height:32px}
}
