.villa-stay{max-width:1290px;margin:0 auto;padding:34px 20px 42px;color:#100744;background:#fff}
.villa-stay h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.2!important;font-weight:400!important;margin:0 0 24px;color:#132c2a}
.villa-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:32px}
.villa-photo-grid button{display:block;position:relative;border:0;padding:0;background:#eee;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3;border-radius:3px}
.villa-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.villa-photo-grid button:hover img{transform:scale(1.035)}
.villa-stay button:focus-visible{outline:3px solid #a38452;outline-offset:3px}
.villa-rate-scroll{overflow:auto;margin:0 auto 24px;border-radius:9px;box-shadow:0 3px 7px #0002}
.villa-stay .villa-rates{float:none!important;display:table!important;width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-collapse:collapse!important;border-radius:0!important;table-layout:fixed!important;font-family:Jost,Arial,sans-serif!important}
.villa-stay .villa-rates th,.villa-stay .villa-rates td{border:0!important;text-align:center!important;padding:14px 12px!important;height:auto!important;vertical-align:middle!important;font-size:16px!important;line-height:1.45!important;color:#100744!important;white-space:normal!important;background:transparent!important}
.villa-stay .villa-rates thead tr{background:#100744!important}
.villa-stay .villa-rates thead th{color:white!important;font-weight:600!important}
.villa-stay .villa-rates tbody tr:nth-child(odd){background:#f8f8f8!important}
.villa-stay .villa-rates tbody tr:nth-child(even){background:#f0f0f0!important}
.villa-stay .villa-rates .season-title{font-weight:600;color:#141414}
.villa-stay .villa-rates .season-date{display:block;color:#666;font-size:14px;margin:3px 0 0!important;line-height:1.4}
.villa-calendar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:22px 0 12px;font-family:Jost,Arial,sans-serif;color:#141414}
.villa-month{background:#eee;border:1px solid #aaa;border-radius:8px;padding:10px 8px;min-width:0;min-height:190px}
.villa-month h3{font-family:inherit!important;font-size:14px!important;line-height:1.4;font-weight:600!important;text-align:center;margin:0 0 4px!important;color:#111}
.villa-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:14px;line-height:1.6}
.villa-month-days span{min-width:0;line-height:1.6!important}
.villa-month-days .day-free{color:#087c00}
.villa-month-days .day-booked{color:#d40000;font-weight:600;text-decoration:line-through;text-decoration-thickness:1px}
.villa-calendar-key{text-align:center;font-family:Jost,Arial,sans-serif;font-size:13px;margin:10px 0 0;display:flex;justify-content:center;gap:24px}
.villa-calendar-key .booked{color:#d40000}.villa-calendar-key .free{color:#087c00}
.villa-school-holidays{padding:44px 0 12px!important;text-align:center;background:transparent!important;color:#161616;font-family:Jost,Arial,sans-serif}
.villa-school-holidays h3{font-family:inherit!important;font-size:22px!important;line-height:1.4!important;font-weight:600!important;margin:0 0 10px!important;color:#111!important}
.villa-school-holidays ul{list-style:none;margin:0;padding:0}
.villa-school-holidays li{font-family:inherit!important;font-size:16px!important;line-height:1.65!important;margin:0;padding:0;color:#161616!important}
.villa-school-holidays p{margin:24px 0 0;font-size:15px}
.villa-school-holidays a{color:#30334b!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:575px){.villa-school-holidays{padding-top:30px!important}.villa-school-holidays h3{font-size:19px!important}.villa-school-holidays li{font-size:14px!important;margin-bottom:6px}}
.villa-lightbox{position:fixed!important;inset:0!important;max-width:100vw!important;max-height:100dvh!important;width:100vw;height:100dvh;padding:54px 64px 50px;border:0;background:#080b0e;color:white;margin:0;z-index:10000}
.villa-lightbox::backdrop{background:#080b0ef2}
.villa-lightbox:not([open]){display:none}
.villa-lightbox[open]{display:flex;align-items:center;justify-content:center}
.villa-lightbox img{max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain}
.villa-lightbox button{position:absolute;background:#ffffff20;color:white;border:1px solid #ffffff60;border-radius:50%;width:44px;height:44px;font-size:26px;cursor:pointer;line-height:1}
.villa-lightbox-close{right:16px;top:12px}.villa-lightbox-prev{left:12px;top:50%}.villa-lightbox-next{right:12px;top:50%}
.villa-lightbox-count{position:absolute;bottom:12px;left:0;width:100%;text-align:center;font-family:Jost,Arial,sans-serif;font-size:14px}
.villa-stay .hidden,.villa-stay .animate__animated{opacity:1!important;visibility:visible!important;animation:none!important;transform:none!important}
@media(max-width:991px){.villa-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:575px){.villa-stay{padding:28px 16px}.villa-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.villa-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-month{padding:10px 5px}.villa-month-days{font-size:13px}.villa-stay .villa-rates{min-width:480px!important}.villa-stay .villa-rates th,.villa-stay .villa-rates td{font-size:14px!important;padding:12px 8px!important}.villa-lightbox{padding:54px 44px 45px}.villa-lightbox button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.villa-photo-grid img{transition:none}}
