.vbs{--green:#294f3d;--green2:#35624c;--ink:#182126;--muted:#68727a;--line:#e4e7e3;--soft:#f6f7f5;--range:#e1efe7;font-family:inherit;color:var(--ink);max-width:1180px;margin:0 auto 2rem}.vbs *{box-sizing:border-box}.vbs button{font:inherit}.vbs-search-card{display:grid;grid-template-columns:minmax(220px,1fr) 26px minmax(220px,1fr) minmax(190px,.72fr);gap:12px;align-items:center;background:#fff;padding:14px;border:1px solid rgba(24,33,38,.08);border-radius:18px;box-shadow:0 14px 38px rgba(25,40,32,.11)}.vbs-date-field,.vbs-search-button,.vbs-calendar-close,.vbs-day,.vbs-month-nav{appearance:none;border:0;cursor:pointer}.vbs-date-field{width:100%;min-height:68px;display:grid;grid-template-columns:34px 1fr 18px;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid #dfe3df;border-radius:12px;padding:10px 14px;color:var(--ink)}.vbs-date-field:focus-visible{outline:3px solid rgba(41,79,61,.18);border-color:var(--green)}.vbs-icon{font-size:23px;color:var(--green)}.vbs-field-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.vbs-field-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.vbs-field-copy strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vbs-chevron{font-size:27px;color:var(--muted)}.vbs-arrow{text-align:center;color:var(--muted);font-size:22px}.vbs-search-button{background:var(--green);color:#fff;font-weight:800;border-radius:12px;min-height:58px;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:9px}.vbs-search-button:hover:hover{background:var(--green2)}.vbs-search-button:disabled:disabled{opacity:.42;cursor:not-allowed}.vbs-calendar-panel{margin-top:10px;background:#fff;border:1px solid rgba(24,33,38,.09);border-radius:18px;box-shadow:0 18px 45px rgba(25,40,32,.14);overflow:hidden}.vbs-calendar-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 10px}.vbs-calendar-head>div{display:flex;flex-direction:column}.vbs-calendar-head strong{font-size:22px}.vbs-calendar-head span{font-size:13px;color:var(--muted)}.vbs-calendar-close{min-width:84px;height:36px;padding:0 14px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:800;color:var(--green);white-space:nowrap}.vbs-months{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.vbs-month{padding:18px 24px;min-width:0}.vbs-month+.vbs-month{border-left:1px solid var(--line)}.vbs-month-title{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:13px}.vbs-month-title strong{text-align:center;font-size:18px;text-transform:capitalize}.vbs-month-nav{width:34px;height:34px;background:#fff;border-radius:50%;font-size:23px;color:var(--green)}.vbs-weekdays,.vbs-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%}.vbs-weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:800;padding:4px 0}.vbs-day{width:100%;min-width:0;min-height:42px;aspect-ratio:1/1;border-radius:10px;background:#fff;color:var(--ink);padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.vbs-day.is-pad{visibility:hidden}.vbs-day.is-past{background:#f0f1ef;color:#b0b5b2;cursor:not-allowed}.vbs-day.is-selected{background:var(--green);color:#fff;font-weight:800}.vbs-day.is-in-range{background:var(--range);color:var(--green);font-weight:700}.vbs-day:not(:disabled):not(.is-selected):hover{background:#eef5f0}.vbs-calendar-foot{display:block;padding:15px 22px 20px}.vbs-selection-summary{font-size:14px;color:var(--muted)}.vbs-selection-summary strong{color:var(--ink)}.vbs-status{min-height:24px;margin-top:18px;font-size:14px;color:var(--muted)}.vbs-results{margin-top:8px}.vbs-results-head{margin:12px 0 16px}.vbs-results-head h2{margin:0;font-size:30px;line-height:1.1}.vbs-results-head p{margin:5px 0 0;color:var(--muted)}.vbs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vbs-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(25,40,32,.07)}.vbs-card-media{aspect-ratio:16/10;background:var(--soft);overflow:hidden}.vbs-card-media img{width:100%;height:100%;object-fit:cover;display:block}.vbs-card-body{padding:16px}.vbs-card-body h3{font-size:20px;margin:0 0 9px}.vbs-card-meta{font-size:13px;color:var(--muted);margin-bottom:14px}.vbs-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.vbs-price{font-weight:800}.vbs-card-foot a{color:var(--green);font-weight:800;text-decoration:none}.vbs-empty{padding:26px;border-radius:14px;background:var(--soft);color:var(--muted);text-align:center}
@media(max-width:820px){.vbs{width:100%;max-width:100%;margin-left:auto;margin-right:auto;overflow:visible}.vbs-search-card{grid-template-columns:1fr;gap:9px;padding:12px;border-radius:16px}.vbs-arrow{display:none}.vbs-date-field{min-height:66px}.vbs-field-copy strong{font-size:17px}.vbs-search-button{min-height:58px}.vbs-calendar-panel{width:100%;max-width:100%;margin-top:10px;border-radius:16px}.vbs-calendar-head{padding:16px 14px 8px}.vbs-calendar-head strong{font-size:20px}.vbs-months{display:block;width:100%;max-width:100%}.vbs-month{width:100%;max-width:100%;padding:14px 10px 18px;overflow:hidden}.vbs-month+.vbs-month{display:none}.vbs-weekdays,.vbs-days{width:100%;max-width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.vbs-day{width:100%;max-width:100%;min-width:0;min-height:38px;aspect-ratio:1/1;border-radius:9px;font-size:14px}.vbs-calendar-foot{padding:12px 14px 16px}.vbs-grid{grid-template-columns:1fr}.vbs-results-head h2{font-size:25px}.vbs-card{display:grid;grid-template-columns:116px 1fr}.vbs-card-media{aspect-ratio:auto;min-height:128px}.vbs-card-body{padding:13px}.vbs-card-body h3{font-size:17px}.vbs-card-foot{align-items:flex-end}}

/* 0.4.0 · reglas generales de salida/devolución */
.vbs-day.is-endpoint-blocked:not(.is-past){
  color:#9a9f9b;
  background:repeating-linear-gradient(135deg,#f4f5f4,#f4f5f4 4px,#eceeec 4px,#eceeec 8px);
  text-decoration:line-through;
  cursor:not-allowed;
}
.vbs-status.is-rule-warning{
  margin-top:12px;
  padding:12px 14px;
  border-radius:10px;
  background:#fff7e6;
  border:1px solid #f0d49a;
  color:#6f4c00;
  font-weight:700;
}

/* 0.5.0 · resultados clicables + sustitución de la reserva WpRently */
.vbs-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.vbs-card:hover,.vbs-card:focus-visible{transform:translateY(-2px);box-shadow:0 13px 30px rgba(25,40,32,.11);border-color:#cfd8d2;outline:none}.vbs-results{scroll-margin-top:90px}

.vbs-product-box{--vbp-green:#1f6b4f;--vbp-green-dark:#174f3b;--vbp-soft:#eef8f2;--vbp-line:#dfe8e2;--vbp-ink:#17231d;--vbp-muted:#657169;background:#fff;border:1px solid var(--vbp-line);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(27,68,49,.08);color:var(--vbp-ink);font-family:inherit}.vbs-product-box-head{display:flex;gap:12px;align-items:center;padding:18px 20px;background:linear-gradient(90deg,#eef8f2,#f8fcfa)}.vbs-product-box-head>div{display:flex;flex-direction:column;gap:2px}.vbs-product-box-head strong{font-size:19px;line-height:1.2}.vbs-product-box-head small{color:var(--vbp-muted);font-size:12px}.vbs-product-cal{font-size:26px;color:var(--vbp-green)}.vbs-product-dates{display:grid;grid-template-columns:1fr 22px 1fr;gap:8px;align-items:center;padding:18px 18px 14px}.vbs-product-dates>div{border:1px solid var(--vbp-line);border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:3px;min-width:0}.vbs-product-dates small{font-size:11px;color:var(--vbp-muted);text-transform:uppercase;letter-spacing:.02em}.vbs-product-dates strong{font-size:18px}.vbs-product-dates span{font-size:12px;color:var(--vbp-muted)}.vbs-product-dates>b{text-align:center;color:var(--vbp-green);font-size:18px}.vbs-product-row{display:flex;justify-content:space-between;gap:12px;margin:0 18px;padding:13px 0;border-top:1px solid var(--vbp-line);border-bottom:1px solid var(--vbp-line)}.vbs-product-row span{color:var(--vbp-muted)}.vbs-product-price-lines{padding:14px 18px}.vbs-product-price-lines>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.vbs-product-price-lines span{color:var(--vbp-muted)}.vbs-product-total{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;background:var(--vbp-soft);color:var(--vbp-green-dark)}.vbs-product-total span{font-weight:800}.vbs-product-total strong{font-size:22px}.vbs-product-cart-form{padding:16px 18px 10px}.vbs-product-reserve{width:100%;min-height:54px;border:0;border-radius:10px;background:var(--vbp-green);color:#fff;font:inherit;font-weight:800;font-size:17px;cursor:pointer}.vbs-product-reserve:hover{background:var(--vbp-green-dark)}.vbs-product-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 18px 16px;color:var(--vbp-muted);font-size:12px;text-align:center}.vbs-product-other-dates{display:block;padding:13px 18px;border-top:1px solid var(--vbp-line);text-align:center;color:var(--vbp-green)!important;text-decoration:none!important;font-weight:700;font-size:13px}.vbs-product-search>.vbs{margin:0;padding:14px}.vbs.is-compact .vbs-search-card{grid-template-columns:1fr}.vbs.is-compact .vbs-arrow{display:none}.vbs.is-compact .vbs-search-button{min-height:52px}.vbs.is-compact .vbs-calendar-panel{box-shadow:none;border-radius:12px}.vbs.is-compact .vbs-months{grid-template-columns:1fr}.vbs.is-compact .vbs-month+.vbs-month{display:none}.vbs.is-compact .vbs-month{padding:14px 10px}.vbs.is-compact .vbs-calendar-head{padding:14px 14px 8px}.vbs.is-compact .vbs-calendar-head strong{font-size:18px}.vbs.is-compact .vbs-results{display:none}

@media(max-width:600px){.vbs-product-dates{grid-template-columns:1fr}.vbs-product-dates>b{transform:rotate(90deg)}.vbs-product-trust{grid-template-columns:1fr}.vbs-product-total strong{font-size:20px}}

/* 0.5.1 · rango continuo + CTA principal en resultados */
.vbs-card-foot{display:block}.vbs-card-reserve{display:flex!important;width:100%;min-height:48px;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;background:var(--green);color:#fff!important;font-weight:800!important;text-decoration:none!important;text-align:center;letter-spacing:.01em;transition:background .18s ease,transform .18s ease}.vbs-card-reserve:hover,.vbs-card-reserve:focus-visible{background:var(--green2);color:#fff!important;outline:none}.vbs-card:focus-visible .vbs-card-reserve{box-shadow:0 0 0 3px rgba(41,79,61,.14)}
@media(max-width:820px){.vbs-card-reserve{min-height:44px;padding:10px 12px;font-size:13px}}

/* 0.5.8 · ajustes móviles seguros */
.vbs-day.is-general-blocked{background:#f0f1ef;color:#b0b5b2;cursor:not-allowed;opacity:.82}
.vbs-calendar-close:hover,.vbs-calendar-close:focus-visible{background:#e9f1ec;outline:none}
@media(max-width:820px){.vbs-calendar-close{min-width:72px;height:34px;padding:0 11px;font-size:12px}.vbs-calendar-head{gap:10px}.vbs-calendar-head>div{min-width:0}.vbs-calendar-head strong{white-space:normal}}

/* 0.5.8 · evitar selección accidental de texto en controles táctiles */
.vbs-date-field,.vbs-calendar-close,.vbs-search-button,.vbs-day,.vbs-month-nav{-webkit-user-select:none;user-select:none}

/* 0.5.10 · leyenda y navegación responsive */
.vbs-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:4px 22px 14px;color:var(--muted);font-size:12px;font-weight:700}.vbs-calendar-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.vbs-calendar-legend i{display:inline-block;width:13px;height:13px;border-radius:4px;border:1px solid rgba(24,33,38,.08);flex:0 0 13px}.vbs-calendar-legend i.is-selected{background:var(--green)}.vbs-calendar-legend i.is-range{background:var(--range)}.vbs-calendar-legend i.is-blocked{background:repeating-linear-gradient(135deg,#f4f5f4,#f4f5f4 3px,#dfe3df 3px,#dfe3df 6px)}
.vbs-month-nav{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #dce7e0;background:#f5faf7;border-radius:50%;font-size:28px;line-height:1;color:var(--green);font-weight:700;box-shadow:0 3px 10px rgba(25,40,32,.06);transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.vbs-month-nav:hover,.vbs-month-nav:focus-visible{background:#eaf5ee;box-shadow:0 5px 14px rgba(25,40,32,.10);transform:translateY(-1px);outline:none}.vbs-month-title{grid-template-columns:46px 1fr 46px}
.vbs-unavailable{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #efc7c7;background:#fff4f4;border-radius:14px;color:#742626}.vbs-unavailable strong{font-size:16px}.vbs-unavailable span{font-size:13px;color:#765757}.vbs-unavailable a,.vbs-unavailable button{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:10px;font-weight:800;text-decoration:none}.vbs-unavailable a{background:var(--green);color:#fff!important}.vbs-unavailable button{border:1px solid #d7e2db;background:#fff;color:var(--green);cursor:pointer}
@media(max-width:820px){.vbs-calendar-legend{padding:4px 14px 12px;gap:7px 12px;font-size:11px}.vbs-calendar-legend span{white-space:normal;line-height:1.2}.vbs-month-nav{width:44px;height:44px;font-size:30px}.vbs-month-title{grid-template-columns:48px 1fr 48px}.vbs-calendar-head{align-items:flex-start}.vbs-unavailable{margin-top:8px}}
@media(max-width:480px){.vbs-calendar-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}.vbs-calendar-legend span:last-child{grid-column:1/-1}.vbs-month{padding-left:8px;padding-right:8px}.vbs-month-nav{width:40px;height:40px}.vbs-month-title{grid-template-columns:42px 1fr 42px}.vbs-month-title strong{font-size:16px}}
.vbs.is-compact .vbs-results{display:block}
