/* Villa Fiore — kalendar zauzetosti */
.vfk { --vfk-slobodno: #fffdf9; --vfk-zauzeto: #b5583a; --vfk-odabrano: #6b7a3a; margin: 0 0 2.5rem; }
.vfk-naslov { margin-top: 0; }
.vfk-traka { display: flex; justify-content: flex-end; gap: .5rem; margin: -.25rem 0 .5rem; }
.vfk-traka button {
	width: 2.4rem; height: 2.4rem; border: 1px solid var(--vf-linija, #e4ddd0); border-radius: 50%;
	background: var(--vf-papir, #fffdf9); color: var(--vf-maslina, #3f4a2a); font-size: 1.4rem; line-height: 1; cursor: pointer;
}
.vfk-traka button:disabled { opacity: .35; cursor: default; }
.vfk-traka button:not(:disabled):hover { background: var(--vf-maslina, #3f4a2a); color: #fff; }
.vfk-mjeseci { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1.5rem 2rem; }
.vfk-mjesec__naslov { font-size: 1.2rem; margin: 0 0 .6rem; text-align: center; }
.vfk-mreza { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.vfk-dan-tj { text-align: center; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--vf-siva, #6b675e); padding-bottom: .2rem; }
.vfk-d {
	position: relative; aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
	font: 500 .92rem/1 var(--vf-sans, system-ui, sans-serif); color: var(--vf-tinta, #2b2a26);
	background: var(--vfk-slobodno); border: 1px solid var(--vf-linija, #e4ddd0); border-radius: 3px; padding: 0; overflow: hidden;
}
.vfk-d > span { position: relative; z-index: 1; }
button.vfk-d { cursor: pointer; }
button.vfk-d:hover, button.vfk-d:focus-visible { outline: 2px solid var(--vfk-odabrano); outline-offset: -2px; }
.vfk-zauzeto { background: var(--vfk-zauzeto); border-color: var(--vfk-zauzeto); color: #fff; }
.vfk-dolazak { background: linear-gradient(to bottom right, var(--vfk-slobodno) 50%, var(--vfk-zauzeto) 50%); }
.vfk-odlazak { background: linear-gradient(to bottom right, var(--vfk-zauzeto) 50%, var(--vfk-slobodno) 50%); }
.vfk-proslo { opacity: .38; }
.vfk-danas { box-shadow: inset 0 0 0 2px var(--vf-maslina, #3f4a2a); }
.vfk-d.vfk-odabrano { background: var(--vfk-odabrano); border-color: var(--vfk-odabrano); color: #fff; }
.vfk-d.vfk-raspon { background: #dfe5cf; border-color: #c9d2b0; }
.vfk-legenda { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; list-style: none; padding: 0; margin: 1.2rem 0 .4rem; font-size: .9rem; color: var(--vf-siva, #6b675e); }
.vfk-legenda li { display: flex; align-items: center; gap: .45rem; }
.vfk-uzorak { display: inline-block; width: 1.1rem; height: 1.1rem; border: 1px solid var(--vf-linija, #e4ddd0); border-radius: 2px; }
.vfk-uzorak.vfk-zauzeto { border-color: var(--vfk-zauzeto); }
.vfk-uputa, .vfk-status { font-size: .9rem; color: var(--vf-siva, #6b675e); margin: .2rem 0 0; }
.vfk-status:empty { display: none; }
.vfk-js .vfk-mjesec[hidden] { display: none; }
.vfk-dolazak > span, .vfk-odlazak > span { text-shadow: 0 0 3px var(--vfk-slobodno), 0 0 3px var(--vfk-slobodno), 0 0 2px var(--vfk-slobodno); }
