.jelovnik-widget {
    --jelovnik-accent: #0b72b9;
    --jelovnik-text: #192330;
    --jelovnik-muted: #6f7a87;
    --jelovnik-border: #ece8ef;
    --jelovnik-soft: #dbeefa;
    color: var(--jelovnik-text);
}
.jelovnik-shell {
    border: 1px solid var(--jelovnik-border);
    border-radius: 24px;
    padding: 28px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(20, 24, 31, .06);
}
.jelovnik-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
}
.jelovnik-header--navonly { justify-content: flex-end; }
.jelovnik-title {
    margin: 0;
    font-size: 28px;
    line-height: 1.15;
}
.jelovnik-subtitle {
    margin: 8px 0 0;
    color: var(--jelovnik-muted);
    max-width: 720px;
}
.jelovnik-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--jelovnik-border);
    border-radius: 999px;
    padding: 8px 12px;
    min-width: 240px;
    justify-content: space-between;
}
.jelovnik-nav-btn {
    border: 0;
    background: var(--jelovnik-soft);
    color: var(--jelovnik-accent);
    width: 40px;
    height: 40px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}
.jelovnik-nav-btn[disabled] { opacity: .45; cursor: not-allowed; }
.jelovnik-week-range { font-weight: 700; text-align: center; flex: 1; font-size: 14px; }
.jelovnik-days {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.jelovnik-day {
    border: 1px solid #b9d8ec;
    background: var(--jelovnik-soft);
    color: var(--jelovnik-accent);
    border-radius: 18px;
    padding: 18px 12px;
    cursor: pointer;
    text-align: center;
    transition: .2s ease;
}
.jelovnik-day:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(11, 114, 185, .12); }
.jelovnik-day.is-active {
    background: var(--jelovnik-accent);
    color: #fff;
    border-color: var(--jelovnik-accent);
    box-shadow: 0 12px 24px rgba(11, 114, 185, .24);
}
.jelovnik-day-short { display: block; font-size: 18px; line-height: 1.15; font-weight: 800; margin-bottom: 8px; }
.jelovnik-day-date { display: block; font-size: 13px; opacity: .95; }
.jelovnik-day-panel { border: 1px solid var(--jelovnik-border); border-radius: 24px; padding: 24px; background: #fff; }
.jelovnik-day-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom: 18px; }
.jelovnik-panel-day { font-size: 22px; font-weight: 800; line-height: 1.1; }
.jelovnik-panel-date { color: var(--jelovnik-muted); margin-top: 6px; }
.jelovnik-meals { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.jelovnik-meal { background: #faf7fb; border: 1px solid var(--jelovnik-border); border-radius: 18px; padding: 18px; }
.jelovnik-meal h4 { margin: 0 0 10px; font-size: 15px; color: var(--jelovnik-accent); }
.jelovnik-meal-text { line-height: 1.55; }
.jelovnik-note { margin-top: 16px; margin-bottom: 2px; border-top: 1px dashed var(--jelovnik-border); padding-top: 14px; color: var(--jelovnik-muted); background: transparent; }
.jelovnik-tools-strip {
    margin-top: 2px;
    padding-top: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}
.jelovnik-strip-download {
    display: inline-block;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
}
.jelovnik-strip-download:hover { transform: translateY(-1px); }
.jelovnik-strip-download:focus-visible { outline: 2px solid var(--jelovnik-accent); outline-offset: 6px; border-radius: 14px; }
.jelovnik-tools-strip-image {
    display: block;
    width: 100%;
    max-width: 980px;
    height: auto;
    object-fit: contain;
    object-position: center top;
}
.jelovnik-strip-download[disabled] { opacity: .75; cursor: wait; }
.jelovnik-error { margin-bottom: 16px; background: #fff4f4; border: 1px solid #f0c3c3; color: #9b1c1c; border-radius: 16px; padding: 14px 16px; }
.screen-reader-text { position: absolute; left: -9999px; }
@media (max-width: 1024px) {
    .jelovnik-header { flex-direction: column; align-items: stretch; }
    .jelovnik-nav { min-width: 0; }
    .jelovnik-meals { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .jelovnik-days { grid-template-columns: 1fr; }
    .jelovnik-tools-strip-image { max-width: 100%; }
    .jelovnik-print-btn--overlay { transform: translate(-50%, -40%) scale(.88); }
    .jelovnik-print-btn--overlay:hover { transform: translate(-50%, calc(-40% - 1px)) scale(.88); }
}
