.bsv-booking-shell{max-width:1180px;margin:0 auto;padding:56px 22px 80px;color:#26312d}.bsv-booking-intro{max-width:790px;margin-bottom:30px}.bsv-booking-intro .eyebrow,.bsv-live-calendar-heading .eyebrow,.bsv-exact-rate-heading .eyebrow,.bsv-stay-calendar-head .eyebrow{display:block;font:600 11px Montserrat,sans-serif;letter-spacing:.18em;color:#8d7558;margin-bottom:10px}.bsv-booking-intro h2,.bsv-live-calendar-heading h2,.bsv-exact-rate-heading h2{font:500 clamp(34px,5vw,54px)/1.02 'Cormorant Garamond',serif;color:#26312d;margin:0 0 12px}.bsv-booking-intro p,.bsv-live-calendar-heading p,.bsv-exact-rate-heading p{color:#68706c;line-height:1.7;margin:0}.bsv-booking-hero .hero-img{filter:brightness(.72)}

.bsv-search-card{position:relative;background:#fff;border:1px solid rgba(38,49,45,.12);box-shadow:0 18px 55px rgba(38,49,45,.08);border-radius:22px;padding:24px;z-index:3}.bsv-search-grid{display:grid;grid-template-columns:minmax(330px,1.5fr) repeat(3,minmax(112px,.62fr)) auto;gap:12px;align-items:end}.bsv-date-pair>label,.bsv-guests label{display:block;font:600 10px Montserrat,sans-serif;letter-spacing:.12em;color:#717873;margin-bottom:7px}.bsv-date-buttons{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d8ddda;border-radius:14px;overflow:hidden;background:#fff;height:58px}.bsv-date-button{border:0;background:#fff;text-align:left;padding:9px 14px;cursor:pointer;min-width:0;color:#26312d}.bsv-date-button+ .bsv-date-button{border-left:1px solid #e3e6e4}.bsv-date-button small{display:block;font:600 9px Montserrat,sans-serif;letter-spacing:.11em;color:#858b88;margin-bottom:3px}.bsv-date-button strong{display:block;font:600 13px Montserrat,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bsv-date-button:hover{background:#f7f8f6}.bsv-stepper{height:58px;border:1px solid #d8ddda;border-radius:13px;display:grid;grid-template-columns:38px 1fr 38px;align-items:center;background:#fff}.bsv-stepper button{border:0;background:transparent;font-size:22px;cursor:pointer;color:#36504a;height:100%}.bsv-stepper button:hover{background:#f5f7f5}.bsv-stepper strong{text-align:center;font:600 15px Montserrat,sans-serif}.bsv-search-button{height:58px;border:0;border-radius:13px;padding:0 24px;background:#26312d;color:#fff;font:600 11px Montserrat,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.bsv-search-button:disabled{opacity:.65;cursor:wait}.bsv-search-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:15px;color:#757b78;font-size:12px}.bsv-provider-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f3f0e9;color:#6e5c47;font-weight:600}.bsv-modify-note{margin:0 0 18px;padding:14px 16px;border-left:4px solid #8d7558;background:#f6f2ec;color:#5e554b;border-radius:10px}

.bsv-stay-calendar{position:absolute;left:24px;right:24px;top:calc(100% - 7px);background:#fff;border:1px solid rgba(38,49,45,.15);border-radius:0 0 22px 22px;box-shadow:0 28px 60px rgba(33,44,40,.18);padding:22px;z-index:20}.bsv-stay-calendar[hidden]{display:none}.bsv-stay-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #ecefed}.bsv-stay-calendar-head strong{display:block;font:500 28px 'Cormorant Garamond',serif}.bsv-calendar-head-actions{display:flex;gap:8px}.bsv-calendar-head-actions button,.bsv-rate-calendar-toolbar>button{width:42px;height:42px;border-radius:50%;border:1px solid #d9dfdc;background:#fff;color:#26312d;font-size:24px;line-height:1;cursor:pointer}.bsv-calendar-head-actions button:hover,.bsv-rate-calendar-toolbar>button:hover{background:#f4f6f4}.bsv-calendar-head-actions button:disabled,.bsv-rate-calendar-toolbar>button:disabled{opacity:.3;cursor:not-allowed}.bsv-calendar-close{font-size:28px!important}.bsv-stay-calendar-message{min-height:24px;padding:10px 2px 0;color:#6d7571;font-size:12px}.bsv-stay-calendar-message.error,.bsv-calendar-status.error{color:#9b3b34}.bsv-stay-calendar-message.success,.bsv-calendar-status.success{color:#2e6b50}.bsv-stay-months{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:16px 0 12px}.bsv-stay-month h3{font:500 22px 'Cormorant Garamond',serif;text-align:center;margin:0 0 13px;color:#26312d}.bsv-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.bsv-calendar-week span{text-align:center;font:600 9px Montserrat,sans-serif;letter-spacing:.09em;color:#949a96;text-transform:uppercase}.bsv-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.bsv-stay-day{aspect-ratio:1/1;min-height:40px;border:0;border-radius:50%;background:#fff;color:#26312d;font:500 13px Montserrat,sans-serif;cursor:pointer;position:relative}.bsv-stay-day.available:hover{outline:1px solid #26312d}.bsv-stay-day.unavailable{color:#b8bdb9;text-decoration:line-through;background:#fafafa;cursor:not-allowed}.bsv-stay-day.blank{visibility:hidden}.bsv-stay-day.selected-start,.bsv-stay-day.selected-end{background:#26312d;color:#fff;text-decoration:none}.bsv-stay-day.selected-range{border-radius:0;background:#edf1ef;color:#26312d;text-decoration:none}.bsv-stay-day.restricted:after{content:'';position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;background:#a47e45;transform:translateX(-50%)}.bsv-stay-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:14px;border-top:1px solid #ecefed}.bsv-stay-calendar-foot strong{display:block;font:600 13px Montserrat,sans-serif}.bsv-stay-calendar-foot span{display:block;margin-top:4px;color:#78807c;font-size:11px}.bsv-stay-foot-actions{display:flex;gap:9px}.bsv-stay-foot-actions button{border:1px solid #ccd3cf;background:#fff;color:#26312d;border-radius:10px;padding:10px 15px;font:600 10px Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.bsv-stay-foot-actions button.primary{background:#26312d;color:#fff;border-color:#26312d}

.bsv-live-calendar{margin-top:42px}.bsv-live-calendar-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:22px}.bsv-live-calendar-heading>div:first-child{max-width:800px}.bsv-live-calendar-heading h2{font-size:clamp(30px,4vw,46px)}.bsv-calendar-guest-pill{min-width:110px;border:1px solid #dfe4e1;border-radius:16px;padding:12px 16px;text-align:center;background:#fff}.bsv-calendar-guest-pill span{display:block;font:600 9px Montserrat,sans-serif;letter-spacing:.12em;color:#8a918e;text-transform:uppercase}.bsv-calendar-guest-pill strong{display:block;margin-top:3px;font:500 26px 'Cormorant Garamond',serif}.bsv-room-tabs{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 10px;scrollbar-width:thin}.bsv-room-tab{flex:0 0 auto;border:1px solid #d8dfdb;background:#fff;color:#46514c;border-radius:999px;padding:10px 16px;text-align:left;cursor:pointer}.bsv-room-tab span{display:block;font:600 11px Montserrat,sans-serif}.bsv-room-tab small{display:block;font-size:9px;color:#89908c;margin-top:2px}.bsv-room-tab.active{background:#26312d;color:#fff;border-color:#26312d}.bsv-room-tab.active small{color:#d9dfdc}.bsv-selected-room-line{min-height:22px;color:#6e7772;font-size:12px;margin:0 2px 8px}.bsv-rate-calendar-card{background:#fff;border:1px solid rgba(38,49,45,.13);border-radius:22px;padding:22px;box-shadow:0 14px 42px rgba(38,49,45,.06)}.bsv-rate-calendar-toolbar{display:grid;grid-template-columns:44px minmax(190px,300px) 44px;justify-content:center;align-items:center;gap:12px;margin-bottom:8px}.bsv-month-picker{height:44px;border:1px solid #d9dfdc;border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff}.bsv-month-picker span{color:#7f8783}.bsv-month-picker select{appearance:none;border:0;background:transparent;outline:0;width:100%;font:600 13px Montserrat,sans-serif;color:#26312d;cursor:pointer;text-align:center}.bsv-calendar-status{min-height:25px;text-align:center;font-size:12px;color:#747d78;padding:3px 0 8px}.bsv-rate-calendar-grid{max-width:760px;margin:0 auto}.bsv-rate-day{min-height:75px;border:1px solid #edf0ee;border-radius:12px;background:#fff;color:#26312d;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;cursor:pointer;position:relative}.bsv-rate-day b{font:600 13px Montserrat,sans-serif}.bsv-rate-day.available:hover{border-color:#26312d;box-shadow:0 0 0 1px #26312d}.bsv-rate-day.unavailable{background:#f7f7f5;color:#b1b6b3;text-decoration:line-through;cursor:not-allowed}.bsv-rate-day.past{opacity:.55}.bsv-rate-day.blank{visibility:hidden}.bsv-nightly-price{font:600 10px Montserrat,sans-serif;color:#597168;text-decoration:none}.bsv-min-stay{font:600 8px Montserrat,sans-serif;color:#9c7440;text-decoration:none}.bsv-rate-day.restricted:after{content:'';position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:#b08a51}.bsv-rate-day.selected-start,.bsv-rate-day.selected-end{background:#26312d!important;color:#fff!important;border-color:#26312d!important;text-decoration:none}.bsv-rate-day.selected-start .bsv-nightly-price,.bsv-rate-day.selected-end .bsv-nightly-price,.bsv-rate-day.selected-start .bsv-min-stay,.bsv-rate-day.selected-end .bsv-min-stay{color:#fff}.bsv-rate-day.selected-range{background:#edf1ef;color:#26312d;border-color:#dfe6e2;text-decoration:none}.bsv-calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:18px;color:#7d8581;font-size:10px}.bsv-calendar-legend span{display:flex;align-items:center;gap:6px}.bsv-calendar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid #d9dfdc}.bsv-calendar-legend i.available{background:#fff}.bsv-calendar-legend i.unavailable{background:#f2f2ef}.bsv-calendar-legend i.selected{background:#26312d;border-color:#26312d}.bsv-calendar-legend i.restricted{background:#b08a51;border-color:#b08a51}

.bsv-calendar-loading,.bsv-calendar-error,.bsv-capacity-message{min-height:170px;border-radius:16px;background:#f8f9f7;display:flex;align-items:center;justify-content:center;gap:14px;padding:24px;color:#59625e;text-align:left}.bsv-calendar-loading{flex-direction:column;text-align:center}.bsv-calendar-loading strong,.bsv-calendar-error strong,.bsv-capacity-message strong{display:block;color:#26312d;font:500 24px 'Cormorant Garamond',serif}.bsv-calendar-loading span:not(.bsv-loader),.bsv-calendar-error p,.bsv-capacity-message p{font-size:12px;line-height:1.6;margin:5px 0 0}.bsv-calendar-error{flex-direction:column;text-align:center}.bsv-calendar-error button,.bsv-capacity-message button{margin-top:12px;border:1px solid #26312d;background:#fff;color:#26312d;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600}.bsv-capacity-message{justify-content:flex-start;max-width:760px;margin:0 auto}.bsv-capacity-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0e8dc;color:#7b6348;font-size:25px;flex:0 0 auto}.bsv-capacity-message small{display:block;color:#838a86;margin-top:6px}.bsv-loader{width:30px;height:30px;border:3px solid #dfe5e2;border-top-color:#26312d;border-radius:50%;animation:bsvSpin .8s linear infinite;flex:0 0 auto}

.bsv-results{margin-top:34px}.bsv-results-loading,.bsv-results-message{padding:24px;border:1px solid #e1e4e2;border-radius:18px;background:#fff;color:#59625e}.bsv-results-message strong{display:block;color:#26312d;font:500 28px 'Cormorant Garamond',serif;margin-bottom:7px}.bsv-results-message p{margin:0;line-height:1.6}.bsv-results-loading{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.bsv-results-loading p{grid-column:2;margin:4px 0 0}.bsv-results-loading .bsv-loader{grid-row:1/3}.bsv-exact-rate-heading{margin:0 0 18px}.bsv-exact-rate-heading h2{font-size:38px}.bsv-rate-grid{display:grid;gap:18px}.bsv-rate-card{display:grid;grid-template-columns:230px 1fr auto;background:#fff;border:1px solid rgba(38,49,45,.12);border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(38,49,45,.06)}.bsv-rate-photo{min-height:210px;background:#eef0ef}.bsv-rate-photo img{width:100%;height:100%;object-fit:cover;display:block}.bsv-rate-photo-fallback{height:100%;min-height:210px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#edf2ef,#d9e2de);font:500 48px 'Cormorant Garamond',serif;color:#61716a}.bsv-rate-copy{padding:22px}.bsv-rate-copy .eyebrow{font:600 10px Montserrat,sans-serif;letter-spacing:.14em;color:#8d7558}.bsv-rate-copy h3{font:500 30px/1.05 'Cormorant Garamond',serif;color:#26312d;margin:7px 0 8px}.bsv-rate-name{font:600 12px Montserrat,sans-serif;color:#66706b}.bsv-rate-terms{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.bsv-rate-terms div{background:#f7f7f5;border-radius:12px;padding:12px}.bsv-rate-terms b{display:block;font-size:11px;margin-bottom:5px;color:#394540}.bsv-rate-terms p{font-size:11px;line-height:1.5;color:#6b716e;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bsv-rate-price{min-width:220px;border-left:1px solid #eceeec;padding:22px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.bsv-rate-price small{font-size:11px;color:#777}.bsv-rate-price strong{font:600 30px 'Cormorant Garamond',serif;color:#26312d;margin:4px 0}.bsv-rate-price span{font-size:11px;color:#707773}.bsv-rate-price button{margin-top:15px;width:100%;border:0;border-radius:12px;background:#26312d;color:#fff;padding:13px 18px;font:600 11px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.bsv-no-rates-actions{margin-top:14px}.bsv-no-rates-actions button{border:1px solid #26312d;background:#fff;color:#26312d;padding:10px 14px;border-radius:10px;cursor:pointer}.bsv-manage-strip{margin-top:28px;border-radius:18px;background:#eef3f1;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.bsv-manage-strip strong{font:500 22px 'Cormorant Garamond',serif;color:#26312d}.bsv-manage-strip a{color:#26312d;font-weight:600}

.bsv-date-button:focus-visible,.bsv-stepper button:focus-visible,.bsv-search-button:focus-visible,.bsv-room-tab:focus-visible,.bsv-rate-day:focus-visible,.bsv-stay-day:focus-visible,.bsv-calendar-head-actions button:focus-visible,.bsv-rate-calendar-toolbar button:focus-visible,.bsv-rate-price button:focus-visible{outline:3px solid rgba(141,117,88,.35);outline-offset:2px}@keyframes bsvSpin{to{transform:rotate(360deg)}}

@media(max-width:1000px){.bsv-search-grid{grid-template-columns:1fr 1fr}.bsv-date-pair{grid-column:1/-1}.bsv-search-button{grid-column:1/-1}.bsv-rate-card{grid-template-columns:180px 1fr}.bsv-rate-price{grid-column:1/-1;border-left:0;border-top:1px solid #eceeec;align-items:flex-start;min-width:0}.bsv-rate-price button{width:auto}.bsv-rate-terms{grid-template-columns:1fr}.bsv-live-calendar-heading{align-items:flex-start}.bsv-stay-months{gap:18px}.bsv-rate-day{min-height:68px}}
@media(max-width:760px){.bsv-booking-shell{padding:36px 14px 60px}.bsv-search-card{padding:16px;border-radius:18px}.bsv-search-grid{grid-template-columns:1fr 1fr}.bsv-date-pair{grid-column:1/-1}.bsv-search-button{grid-column:1/-1}.bsv-search-meta{align-items:flex-start;flex-direction:column}.bsv-stay-calendar{position:relative;left:auto;right:auto;top:auto;margin:16px -16px -16px;border-left:0;border-right:0;border-bottom:0;border-radius:0 0 18px 18px;box-shadow:none;padding:16px}.bsv-stay-months{grid-template-columns:1fr}.bsv-stay-calendar-head strong{font-size:24px}.bsv-stay-calendar-foot{align-items:flex-start;flex-direction:column}.bsv-stay-foot-actions{width:100%}.bsv-stay-foot-actions button{flex:1}.bsv-live-calendar-heading{flex-direction:column;gap:14px}.bsv-calendar-guest-pill{align-self:flex-start;min-width:90px}.bsv-rate-calendar-card{padding:14px}.bsv-rate-calendar-toolbar{grid-template-columns:40px minmax(160px,1fr) 40px;gap:7px}.bsv-rate-calendar-toolbar>button{width:40px;height:40px}.bsv-rate-day{min-height:58px;border-radius:9px;padding:6px 2px}.bsv-rate-day b{font-size:12px}.bsv-nightly-price{font-size:8px}.bsv-min-stay{font-size:7px}.bsv-calendar-days{gap:3px}.bsv-calendar-legend{justify-content:flex-start}.bsv-rate-card{grid-template-columns:1fr}.bsv-rate-photo{height:210px}.bsv-rate-price{grid-column:auto}.bsv-manage-strip{align-items:flex-start;flex-direction:column}.bsv-capacity-message{align-items:flex-start}.bsv-exact-rate-heading h2{font-size:34px}}
@media(max-width:480px){.bsv-search-grid{grid-template-columns:1fr}.bsv-date-pair,.bsv-search-button{grid-column:auto}.bsv-date-buttons{height:62px}.bsv-stepper{height:54px}.bsv-room-tab{padding:9px 13px}.bsv-room-tab span{font-size:10px}.bsv-rate-calendar-card{margin-left:-4px;margin-right:-4px}.bsv-rate-day{min-height:54px}.bsv-rate-day b{font-size:11px}.bsv-nightly-price{font-size:7px}.bsv-calendar-week span{font-size:8px}.bsv-stay-day{min-height:38px}.bsv-calendar-head-actions{gap:5px}.bsv-calendar-head-actions button{width:38px;height:38px}}

/* Villa Eliopetra availability v4 ------------------------------------------------ */
.bsv-availability-page{
  --bsv-blue:#4B5D53;
  --bsv-blue-2:#6D7C73;
  --bsv-blue-dark:#35433B;
  --bsv-ink:#2F312F;
  --bsv-muted:#6D7C73;
  --bsv-gold:#C7A977;
  --bsv-sky:#F7F3EE;
  --bsv-soft:#F7F3EE;
  --bsv-border:#E5DDD2;
  background:linear-gradient(180deg,#fff 0,#F8F5F0 48%,#fff 100%);
}
.bsv-booking-hero .hero-content{max-width:760px}
.bsv-booking-hero .hero-subtitle{color:#fff;letter-spacing:.19em}
.bsv-booking-hero .hero-content h1{color:#fff}
.bsv-booking-hero .hero-content p{color:rgba(255,255,255,.92)}
.bsv-booking-shell{color:var(--bsv-ink)}
.bsv-booking-intro .eyebrow,.bsv-live-calendar-heading .eyebrow,.bsv-exact-rate-heading .eyebrow,.bsv-stay-calendar-head .eyebrow{color:var(--bsv-blue-2)}
.bsv-booking-intro h2,.bsv-live-calendar-heading h2,.bsv-exact-rate-heading h2{color:var(--bsv-blue-dark)}
.bsv-booking-intro p,.bsv-live-calendar-heading p,.bsv-exact-rate-heading p{color:var(--bsv-muted)}
.bsv-search-card{border-color:var(--bsv-border);box-shadow:0 20px 55px rgba(75,93,83,.08)}
.bsv-date-pair>label,.bsv-guests label{color:#6D7C73}
.bsv-date-buttons,.bsv-stepper{border-color:#D5CCC0}
.bsv-date-button,.bsv-stepper{color:var(--bsv-ink)}
.bsv-date-button:hover,.bsv-stepper button:hover{background:var(--bsv-sky)}
.bsv-stepper button{color:var(--bsv-blue)}
.bsv-search-button{background:linear-gradient(135deg,var(--bsv-blue),var(--bsv-blue-2));box-shadow:0 10px 24px rgba(75,93,83,.18)}
.bsv-search-button:hover{filter:brightness(1.04)}
.bsv-provider-badge{background:var(--bsv-sky);color:var(--bsv-blue-dark);border:1px solid #E5DDD2}
.bsv-search-meta{color:#6D7C73}
.bsv-modify-note{border-left-color:var(--bsv-gold);background:#fbf7ec;color:#665f4e}

.bsv-stay-calendar{border-color:#D5CCC0;box-shadow:0 30px 70px rgba(75,93,83,.18)}
.bsv-stay-calendar-head{border-bottom-color:#E5DDD2}
.bsv-stay-calendar-head strong,.bsv-stay-month h3,.bsv-stay-calendar-foot strong{color:var(--bsv-blue-dark)}
.bsv-calendar-head-actions button,.bsv-rate-calendar-toolbar>button{border-color:#D5CCC0;color:var(--bsv-blue);background:#fff}
.bsv-calendar-head-actions button:hover,.bsv-rate-calendar-toolbar>button:hover{background:var(--bsv-sky);border-color:#D5CCC0}
.bsv-stay-calendar-message{color:#6D7C73}
.bsv-stay-day{color:var(--bsv-ink)}
.bsv-stay-day.available:hover{outline:2px solid rgba(75,93,83,.36);background:var(--bsv-sky)}
.bsv-stay-day.unavailable{background:#F7F3EE;color:#B7A38A;text-decoration:line-through}
.bsv-stay-day.selected-start,.bsv-stay-day.selected-end{background:var(--bsv-blue)!important;color:#fff!important;box-shadow:0 5px 14px rgba(75,93,83,.2)}
.bsv-stay-day.selected-range{background:#E5DDD2;color:var(--bsv-blue-dark)}
.bsv-stay-day.restricted:after{background:var(--bsv-gold)}
.bsv-stay-calendar-foot{border-top-color:#E5DDD2}
.bsv-stay-foot-actions button{border-color:#D5CCC0;color:var(--bsv-blue-dark)}
.bsv-stay-foot-actions button.primary{background:var(--bsv-blue);border-color:var(--bsv-blue)}

.bsv-results-top{margin:38px 0 48px;padding-top:4px}
.bsv-exact-rate-heading{position:relative;padding:0 0 18px 18px;border-left:4px solid var(--bsv-blue)}
.bsv-exact-rate-heading h2{margin-bottom:7px}
.bsv-exact-rate-heading small{display:block;margin-top:8px;color:#6D7C73;font:500 11px/1.55 Montserrat,sans-serif}
.bsv-results-message{border-color:#E5DDD2;background:linear-gradient(135deg,#fff,#F7F3EE)}
.bsv-results-message strong{color:var(--bsv-blue-dark)}
.bsv-results-loading{border-color:#E5DDD2;background:#fff}
.bsv-rate-grid{gap:20px}
.bsv-rate-card{border-color:#E5DDD2;border-radius:22px;box-shadow:0 16px 42px rgba(75,93,83,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media (hover:hover) and (pointer:fine){.bsv-rate-card:hover{transform:translateY(-2px);border-color:#D5CCC0;box-shadow:0 20px 48px rgba(75,93,83,.11)}}
.bsv-rate-copy .eyebrow{color:var(--bsv-blue-2)}
.bsv-rate-copy h3{color:var(--bsv-blue-dark)}
.bsv-rate-name{color:#6D7C73}
.bsv-rate-terms div{background:var(--bsv-soft);border:1px solid #F7F3EE}
.bsv-rate-terms b{color:#4B5D53}
.bsv-rate-price{border-left-color:#E5DDD2;background:linear-gradient(180deg,#fff,#F8F5F0)}
.bsv-rate-price strong{color:var(--bsv-blue-dark)}
.bsv-rate-price button{background:linear-gradient(135deg,var(--bsv-blue),var(--bsv-blue-2));box-shadow:0 8px 20px rgba(75,93,83,.16)}

.bsv-live-calendar{margin-top:34px;padding-top:40px;border-top:1px solid #E5DDD2}
.bsv-calendar-guest-pill{border-color:#E5DDD2;background:var(--bsv-sky);color:var(--bsv-blue-dark)}
.bsv-room-tabs{padding:4px 2px 13px}
.bsv-room-tab{border-color:#D5CCC0;color:#4B5D53;background:#fff;box-shadow:0 4px 12px rgba(75,93,83,.035)}
.bsv-room-tab:hover{border-color:#B7A38A;background:#F7F3EE}
.bsv-room-tab.active{background:linear-gradient(135deg,var(--bsv-blue-dark),var(--bsv-blue));border-color:var(--bsv-blue);color:#fff;box-shadow:0 8px 18px rgba(75,93,83,.18)}
.bsv-room-tab.active small{color:#E5DDD2}
.bsv-selected-room-line{color:#6D7C73}
.bsv-rate-calendar-card{border-color:#E5DDD2;box-shadow:0 15px 44px rgba(75,93,83,.065)}
.bsv-month-picker{border-color:#D5CCC0;background:#F8F5F0}
.bsv-month-picker span{color:var(--bsv-blue)}
.bsv-month-picker select{color:var(--bsv-blue-dark)}
.bsv-rate-day{border-color:#E5DDD2;color:var(--bsv-ink)}
.bsv-rate-day.available{background:#fff}
.bsv-rate-day.available:hover{border-color:var(--bsv-blue);box-shadow:0 0 0 1px var(--bsv-blue);background:#F8F5F0}
.bsv-rate-day.unavailable{background:#F7F3EE;color:#B7A38A}
.bsv-nightly-price{color:var(--bsv-blue-2)}
.bsv-min-stay{color:#9b7a2d}
.bsv-rate-day.restricted:after{background:var(--bsv-gold)}
.bsv-rate-day.selected-start,.bsv-rate-day.selected-end{background:var(--bsv-blue)!important;border-color:var(--bsv-blue)!important;color:#fff!important}
.bsv-rate-day.selected-range{background:#F7F3EE;color:var(--bsv-blue-dark);border-color:#E5DDD2}
.bsv-calendar-legend i.selected{background:var(--bsv-blue);border-color:var(--bsv-blue)}
.bsv-calendar-legend i.restricted{background:var(--bsv-gold);border-color:var(--bsv-gold)}
.bsv-calendar-loading,.bsv-calendar-error,.bsv-capacity-message{background:var(--bsv-soft);color:#6D7C73}
.bsv-calendar-loading strong,.bsv-calendar-error strong,.bsv-capacity-message strong{color:var(--bsv-blue-dark)}
.bsv-loader{border-color:#E5DDD2;border-top-color:var(--bsv-blue)}
.bsv-capacity-icon{background:#F7F3EE;color:var(--bsv-blue)}
.bsv-manage-strip{background:linear-gradient(135deg,#F7F3EE,#F8F5F0);border:1px solid #E5DDD2}
.bsv-manage-strip strong,.bsv-manage-strip a{color:var(--bsv-blue-dark)}
.bsv-date-button:focus-visible,.bsv-stepper button:focus-visible,.bsv-search-button:focus-visible,.bsv-room-tab:focus-visible,.bsv-rate-day:focus-visible,.bsv-stay-day:focus-visible,.bsv-calendar-head-actions button:focus-visible,.bsv-rate-calendar-toolbar button:focus-visible,.bsv-rate-price button:focus-visible{outline-color:rgba(75,93,83,.32)}

@media(max-width:760px){
  .bsv-results-top{margin:28px 0 36px}
  .bsv-exact-rate-heading{padding-left:14px}
  .bsv-live-calendar{padding-top:30px}
  .bsv-rate-card{border-radius:18px}
}


/* Villa Eliopetra booking v2.3: multi-room selection + policy details ------------ */
.bsv-selection-bar{position:sticky;bottom:14px;z-index:18;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;margin:-24px 0 46px;padding:16px 18px 16px 20px;background:rgba(75,93,83,.97);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:18px;box-shadow:0 18px 44px rgba(53,67,59,.24);backdrop-filter:blur(12px)}.bsv-selection-bar[hidden]{display:none}.bsv-selection-bar>div:first-child span,.bsv-selection-total small{display:block;font:600 9px/1.2 Montserrat,sans-serif;letter-spacing:.14em;color:#D5CCC0;margin-bottom:4px}.bsv-selection-bar>div:first-child strong{display:block;font:600 15px/1.4 Montserrat,sans-serif}.bsv-selection-bar>div:first-child small{display:block;margin-top:3px;color:#E5DDD2;font:400 11px/1.45 Montserrat,sans-serif}.bsv-selection-total{text-align:right;min-width:150px}.bsv-selection-total strong{font:600 22px/1.2 'Cormorant Garamond',serif}.bsv-selection-bar>button{border:0;border-radius:999px;background:#fff;color:#35433B;padding:13px 19px;font:700 10px/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.bsv-selection-bar>button:hover{background:#F7F3EE}
.bsv-rate-card.is-selected{border-color:#B7A38A;box-shadow:0 0 0 2px rgba(75,93,83,.09),0 18px 44px rgba(75,93,83,.11)}.bsv-room-quantity{display:grid;grid-template-columns:40px 44px 40px;align-items:center;border:1px solid #D5CCC0;border-radius:999px;overflow:hidden;background:#fff}.bsv-room-quantity button{height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:#F7F3EE!important;color:#4B5D53!important;box-shadow:none!important;font-size:20px!important}.bsv-room-quantity strong{text-align:center!important;font:600 14px Montserrat,sans-serif!important;color:#35433B!important}.bsv-room-quantity button:disabled{opacity:.35;cursor:not-allowed}
.bsv-rate-terms{gap:10px}.bsv-term-link{width:100%;text-align:left;border:1px solid #E5DDD2;background:#F8F5F0;border-radius:12px;padding:11px 12px;cursor:pointer;color:#4B5D53}.bsv-term-link:hover{border-color:#D5CCC0;background:#F7F3EE}.bsv-term-link b{display:block;color:#35433B;font:600 10px/1.2 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.bsv-term-link span{display:block;font:500 11px/1.5 Montserrat,sans-serif;color:#6D7C73}
body.bsv-policy-open{overflow:hidden}.bsv-policy-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.bsv-policy-modal[hidden]{display:none}.bsv-policy-backdrop{position:absolute;inset:0;background:rgba(53,67,59,.58);backdrop-filter:blur(4px)}.bsv-policy-dialog{position:relative;width:min(720px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(53,67,59,.3);padding:24px}.bsv-policy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #E5DDD2;padding-bottom:16px}.bsv-policy-head span{display:block;color:#6D7C73;font:600 9px/1.2 Montserrat,sans-serif;letter-spacing:.16em;margin-bottom:6px}.bsv-policy-head h2{margin:0;color:#35433B;font:600 34px/1 'Cormorant Garamond',serif}.bsv-policy-head button{width:42px;height:42px;border:1px solid #D5CCC0;border-radius:50%;background:#fff;color:#35433B;font-size:24px;cursor:pointer}.bsv-policy-room{padding:14px 0;color:#6D7C73;font:500 12px/1.5 Montserrat,sans-serif}.bsv-policy-body p{margin:0;color:#4B5D53;font:400 14px/1.8 Montserrat,sans-serif;white-space:normal}.bsv-policy-highlight{display:grid;gap:4px;margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#F7F3EE;border:1px solid #E5DDD2}.bsv-policy-highlight strong{font:600 11px/1.4 Montserrat,sans-serif;color:#4B5D53}.bsv-policy-highlight span{font:600 20px/1.2 'Cormorant Garamond',serif;color:#4B5D53}
@media(max-width:760px){.bsv-selection-bar{position:relative;bottom:auto;grid-template-columns:1fr 1fr;gap:12px;margin:-18px 0 34px}.bsv-selection-bar>div:first-child{grid-column:1/-1}.bsv-selection-total{text-align:left;min-width:0}.bsv-selection-bar>button{width:100%}.bsv-policy-modal{padding:0;align-items:end}.bsv-policy-dialog{width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding:20px}.bsv-policy-head h2{font-size:30px}}

/* BSV v2.6 — Villa Eliopetra booking polish + per-room guest allocation. */
.booking-powered-lockup{display:inline-flex;align-items:center;gap:14px;margin-top:18px;padding:10px 14px;border:1px solid rgba(75,93,83,.16);border-radius:14px;background:linear-gradient(135deg,#F7F3EE,#F7F3EE);text-decoration:none;box-shadow:0 8px 24px rgba(75,93,83,.06)}
.booking-powered-lockup span{font:700 9px/1.35 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#6D7C73;max-width:115px}
.booking-powered-lockup img{display:block;width:142px;max-height:42px;object-fit:contain;border-radius:8px;background:#35433B;padding:7px 10px}
.bsv-booking-intro .booking-powered-lockup:hover{border-color:rgba(75,93,83,.38);transform:translateY(-1px)}

.bsv-search-button,.bsv-stay-foot-actions button.primary,.bsv-room-tab.active,.bsv-rate-day.selected-start,.bsv-rate-day.selected-end{background:#4B5D53!important;border-color:#4B5D53!important;color:#fff!important}
.bsv-room-tab.active small{color:#E5DDD2!important}.bsv-search-button:hover,.bsv-stay-foot-actions button.primary:hover{background:#6D7C73!important}
.bsv-provider-badge{background:#F7F3EE;color:#4B5D53;border:1px solid #E5DDD2}.bsv-booking-intro .eyebrow,.bsv-live-calendar-heading .eyebrow,.bsv-exact-rate-heading .eyebrow,.bsv-stay-calendar-head .eyebrow{color:#6D7C73}
.bsv-stay-day.available:hover,.bsv-rate-day.available:hover{outline-color:#6D7C73;border-color:#6D7C73;box-shadow:0 0 0 1px rgba(75,93,83,.18)}
.bsv-stay-day.selected-range,.bsv-rate-day.selected-range{background:#F7F3EE;color:#35433B;border-color:#E5DDD2}.bsv-nightly-price{color:#4B5D53}.bsv-calendar-legend i.selected{background:#4B5D53;border-color:#4B5D53}
.bsv-loader{border-color:#E5DDD2!important;border-top-color:#4B5D53!important;border-right-color:#6D7C73!important}

.bsv-rate-card{border-color:#E5DDD2!important;box-shadow:0 12px 34px rgba(53,67,59,.06)!important}.bsv-rate-card:hover{border-color:#D5CCC0!important;box-shadow:0 18px 40px rgba(53,67,59,.10)!important}
.bsv-room-guests{margin-top:18px;padding:15px;border:1px solid #E5DDD2;border-radius:14px;background:#F8F5F0}
.bsv-room-guests-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.bsv-room-guests-head strong{font:700 11px/1.3 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#35433B}.bsv-room-guests-head span{font:600 11px/1.4 Montserrat,sans-serif;color:#6D7C73}
.bsv-room-guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bsv-room-guest{min-width:0}.bsv-room-guest>span{display:block;margin-bottom:6px;font:700 9px/1.2 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6D7C73}.bsv-room-guest-stepper{display:grid;grid-template-columns:34px minmax(30px,1fr) 34px;height:42px;border:1px solid #D5CCC0;border-radius:10px;overflow:hidden;background:#fff}.bsv-room-guest-stepper button{border:0;background:#fff;color:#4B5D53;font-size:20px;cursor:pointer}.bsv-room-guest-stepper button:hover{background:#F7F3EE}.bsv-room-guest-stepper strong{display:grid;place-items:center;font:700 13px Montserrat,sans-serif;color:#35433B}
.bsv-rate-card [data-add-rate]{background:#4B5D53!important;border-color:#4B5D53!important;color:#fff!important}.bsv-rate-card [data-add-rate]:hover{background:#6D7C73!important}.bsv-rate-card [data-add-rate]:disabled{opacity:.58;cursor:not-allowed}
.bsv-selected-rate-state{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#F7F3EE;border:1px solid #E5DDD2;color:#35433B}.bsv-selected-rate-state strong{font:700 11px Montserrat,sans-serif}.bsv-selected-rate-state button{border:0;background:transparent;color:#9b3434;font:700 10px Montserrat,sans-serif;text-decoration:underline;cursor:pointer}
.bsv-selection-bar button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.booking-powered-lockup{width:100%;justify-content:space-between}.booking-powered-lockup img{width:132px}.bsv-room-guest-grid{grid-template-columns:1fr}.bsv-room-guests-head{align-items:center}}
.bsv-room-guests-head b{font:700 11px/1.3 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#35433B}
.bsv-room-guest-grid>div{min-width:0}.bsv-room-guest-grid>div>small{display:block;margin-bottom:6px;font:700 9px/1.2 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6D7C73}.bsv-room-guest-help{display:block;margin-top:10px;color:#6D7C73;font-size:10px;line-height:1.5}


/* Villa Eliopetra v3.6 — mobile stay calendar stays inside the viewport. */
body.bsv-stay-calendar-open{overflow:hidden}
@media(max-width:760px){
  .bsv-stay-calendar{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:8px!important;
    width:auto!important;
    max-height:calc(var(--bsv-visible-height, 100dvh) - 86px)!important;
    margin:0!important;
    padding:16px!important;
    border:1px solid #D5CCC0!important;
    border-radius:20px!important;
    box-shadow:0 28px 80px rgba(53,67,59,.28)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
    z-index:9998!important;
  }
  .bsv-stay-calendar-head{position:sticky;top:-16px;z-index:5;background:#fff;padding-top:16px}
  .bsv-stay-calendar-foot{position:sticky;bottom:-16px;z-index:5;background:#fff;padding-bottom:16px}
  .bsv-stay-months{grid-template-columns:1fr!important}
}

/* Villa Eliopetra v3.8 - universal mobile full-screen stay calendar. */
.bsv-calendar-clear-mobile{display:none}
@media(max-width:760px){
  body.bsv-stay-calendar-open{overflow:hidden!important}
  .bsv-stay-calendar{
    position:fixed!important;inset:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important;
    width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;
    margin:0!important;padding:0 14px max(28px,env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;
    background:#fff!important;box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;
    z-index:2147483000!important;scroll-behavior:smooth!important
  }
  .bsv-stay-calendar-head{
    position:sticky!important;top:0!important;z-index:20!important;margin:0 -14px!important;
    padding:calc(12px + env(safe-area-inset-top)) 14px 12px!important;background:rgba(255,255,255,.985)!important;
    border-bottom:1px solid #E5DDD2!important;box-shadow:0 5px 16px rgba(75,93,83,.06)!important
  }
  .bsv-stay-calendar-head .eyebrow{display:none!important}
  .bsv-stay-calendar-head strong{font-size:23px!important;line-height:1.08!important}
  .bsv-calendar-head-actions{align-items:center!important;gap:6px!important}
  .bsv-calendar-head-actions [data-stay-prev],.bsv-calendar-head-actions [data-stay-next]{display:none!important}
  .bsv-calendar-clear-mobile{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:40px!important;
    padding:0 9px!important;border:0!important;background:transparent!important;color:#4B5D53!important;border-radius:9px!important;
    font:700 10px/1 Montserrat,sans-serif!important;text-transform:uppercase!important;letter-spacing:.06em!important}
  .bsv-calendar-close{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .bsv-stay-calendar-message{padding:13px 2px 5px!important;min-height:0!important}
  .bsv-stay-months{display:block!important;padding:8px 0 18px!important}
  .bsv-stay-month{margin:0 0 34px!important;padding:7px 0 0!important;scroll-margin-top:88px!important}
  .bsv-stay-month h3{margin:0 0 13px!important;text-align:left!important;font-size:25px!important}
  .bsv-calendar-week{position:static!important;margin-bottom:7px!important}
  .bsv-stay-day{min-height:41px!important}
  .bsv-stay-calendar-foot{display:none!important}
}



/* Eliopetra v4.8 palette */
:root{--bsv-blue:#4B5D53;--bsv-blue-2:#6D7C73;--bsv-blue-dark:#35433B}
.bsv-stay-day.selected-start,.bsv-stay-day.selected-end,.bsv-rate-day.selected-start,.bsv-rate-day.selected-end{background:#4B5D53!important;border-color:#4B5D53!important;color:#fff!important;box-shadow:0 5px 14px rgba(75,93,83,.24)!important}
.bsv-stay-day.selected-range,.bsv-rate-day.selected-range{background:#EFE9E2!important;color:#35433B!important}.bsv-calendar-legend i.selected{background:#4B5D53!important;border-color:#4B5D53!important}
