:root{--vvcdb-ink:#171717;--vvcdb-muted:#6b7280;--vvcdb-line:#e5e7eb;--vvcdb-bg:#f7f7f5;--vvcdb-accent:#111827;--vvcdb-radius:18px}.vvcdb-search-shell,.vvcdb-unit-booker,.vvcdb-checkout-shell{font-family:inherit;color:var(--vvcdb-ink);box-sizing:border-box}.vvcdb-search-shell *,.vvcdb-unit-booker *,.vvcdb-checkout-shell *{box-sizing:border-box}.vvcdb-searchbar{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:10px;background:#fff;border:1px solid var(--vvcdb-line);box-shadow:0 12px 36px rgba(17,24,39,.07);padding:12px;border-radius:22px;margin-bottom:22px}.vvcdb-searchbar label,.vvcdb-unit-grid label,.vvcdb-form-grid label{display:flex;flex-direction:column;gap:5px}.vvcdb-searchbar label span,.vvcdb-unit-grid label span,.vvcdb-form-grid label span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--vvcdb-muted)}.vvcdb-searchbar input,.vvcdb-unit-grid input,.vvcdb-form-grid input,.vvcdb-form-grid textarea{border:1px solid var(--vvcdb-line);border-radius:12px;padding:12px 13px;background:#fff;font:inherit;color:inherit;min-height:46px}.vvcdb-searchbar input{border:0;background:var(--vvcdb-bg)}.vvcdb-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 18px;font-weight:800;letter-spacing:.035em;text-decoration:none!important;border:1px solid transparent;cursor:pointer;transition:.18s ease;white-space:nowrap}.vvcdb-btn:hover{transform:translateY(-1px)}.vvcdb-btn-primary{background:var(--vvcdb-accent);color:#fff!important}.vvcdb-btn-secondary{background:#fff;color:var(--vvcdb-ink)!important;border-color:var(--vvcdb-line)}.vvcdb-search-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}.vvcdb-filters{align-self:start;position:sticky;top:24px;border:1px solid var(--vvcdb-line);border-radius:var(--vvcdb-radius);padding:18px;background:#fff}.vvcdb-filters h3{margin:0 0 14px}.vvcdb-filter-row{display:flex;align-items:center;gap:9px;padding:8px 0;color:#374151;cursor:pointer}.vvcdb-filter-row input{width:17px;height:17px}.vvcdb-result-list{display:flex;flex-direction:column;gap:16px}.vvcdb-result-card{display:grid;grid-template-columns:250px minmax(0,1fr);overflow:hidden;border:1px solid var(--vvcdb-line);border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(17,24,39,.05)}.vvcdb-result-image{min-height:240px;background:linear-gradient(135deg,#eee,#ddd);background-size:cover;background-position:center}.vvcdb-result-content{padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.vvcdb-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#6b7280;margin-bottom:5px}.vvcdb-result-content h3{font-size:24px;line-height:1.15;margin:0 0 8px}.vvcdb-result-content p{margin:0;color:#4b5563}.vvcdb-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;color:#4b5563;font-size:14px}.vvcdb-result-bottom{display:flex;align-items:end;justify-content:space-between;gap:16px;border-top:1px solid var(--vvcdb-line);padding-top:15px}.vvcdb-price{display:flex;flex-direction:column}.vvcdb-price small,.vvcdb-unit-price small,.vvcdb-big-total span{color:var(--vvcdb-muted);font-size:12px;text-transform:uppercase;font-weight:700}.vvcdb-price strong{font-size:24px}.vvcdb-actions{display:flex;gap:8px}.vvcdb-empty{border:1px dashed #d1d5db;border-radius:18px;padding:32px;text-align:center;color:#6b7280;background:#fafafa}.vvcdb-unit-booker{border:1px solid var(--vvcdb-line);border-radius:20px;padding:15px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.05)}.vvcdb-unit-grid{display:grid;grid-template-columns:1fr 1fr .7fr 1fr auto;gap:10px;align-items:end}.vvcdb-unit-price{min-height:46px;display:flex;flex-direction:column;justify-content:center}.vvcdb-unit-price strong{font-size:20px}.vvcdb-unit-book[aria-disabled="true"]{opacity:.45;pointer-events:none}.vvcdb-inline-message{font-size:13px;color:#b42318;padding-top:8px}.vvcdb-checkout-shell{max-width:980px;margin:24px auto;display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;align-items:start}.vvcdb-checkout-summary,.vvcdb-checkout-form{background:#fff;border:1px solid var(--vvcdb-line);border-radius:22px;padding:24px;box-shadow:0 10px 35px rgba(17,24,39,.05)}.vvcdb-checkout-summary{position:sticky;top:24px}.vvcdb-checkout-summary h2{margin:2px 0 12px;font-size:27px}.vvcdb-checkout-dates{color:#4b5563;padding-bottom:18px;border-bottom:1px solid var(--vvcdb-line)}.vvcdb-big-total{display:flex;justify-content:space-between;align-items:center;padding-top:18px}.vvcdb-big-total strong{font-size:27px}.vvcdb-muted{color:var(--vvcdb-muted);font-size:13px;line-height:1.5}.vvcdb-checkout-form h3{margin:10px 0 14px;font-size:18px}.vvcdb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.vvcdb-span-2{grid-column:1/-1}.vvcdb-policy{background:var(--vvcdb-bg);border-radius:14px;padding:16px;color:#4b5563;font-size:14px;line-height:1.55}.vvcdb-payment-options{display:flex;gap:10px;flex-wrap:wrap}.vvcdb-payment-options label{border:1px solid var(--vvcdb-line);border-radius:14px;padding:13px 15px;display:flex;gap:8px;align-items:center;cursor:pointer}.vvcdb-card-wrap{border:1px solid var(--vvcdb-line);border-radius:14px;padding:15px;margin:12px 0}.vvcdb-card-wrap[hidden]{display:none}.vvcdb-consent{display:flex;gap:9px;align-items:flex-start;margin:18px 0;color:#4b5563;font-size:14px}.vvcdb-submit-booking{width:100%;font-size:15px}.vvcdb-checkout-message{margin-top:14px;border-radius:12px;padding:0}.vvcdb-checkout-message.is-success{padding:14px;background:#ecfdf3;color:#067647}.vvcdb-checkout-message.is-error{padding:14px;background:#fff1f2;color:#b42318}#vvcdb-card-errors{color:#b42318;font-size:13px;margin-top:8px}.is-loading{opacity:.72}@media(max-width:900px){.vvcdb-searchbar{grid-template-columns:1fr 1fr}.vvcdb-searchbar .vvcdb-btn{grid-column:1/-1}.vvcdb-search-body{grid-template-columns:1fr}.vvcdb-filters{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.vvcdb-filters h3{grid-column:1/-1}.vvcdb-result-card{grid-template-columns:190px 1fr}.vvcdb-unit-grid{grid-template-columns:1fr 1fr}.vvcdb-unit-price,.vvcdb-unit-book{grid-column:span 1}.vvcdb-checkout-shell{grid-template-columns:1fr}.vvcdb-checkout-summary{position:static}}@media(max-width:620px){.vvcdb-searchbar{grid-template-columns:1fr}.vvcdb-search-body{gap:14px}.vvcdb-filters{grid-template-columns:1fr 1fr;padding:14px}.vvcdb-result-card{grid-template-columns:1fr}.vvcdb-result-image{min-height:210px}.vvcdb-result-content{padding:17px}.vvcdb-result-bottom{align-items:stretch;flex-direction:column}.vvcdb-actions{width:100%}.vvcdb-actions .vvcdb-btn{flex:1}.vvcdb-unit-grid{grid-template-columns:1fr}.vvcdb-unit-price,.vvcdb-unit-book{grid-column:auto}.vvcdb-form-grid{grid-template-columns:1fr}.vvcdb-span-2{grid-column:auto}.vvcdb-checkout-summary,.vvcdb-checkout-form{padding:18px;border-radius:18px}}

.vvcdb-package-details{border-top:1px dashed var(--vvcdb-line);padding-top:12px;color:#4b5563;font-size:14px}.vvcdb-package-details[hidden]{display:none}.vvcdb-package-details ul{margin:8px 0 0;padding-left:20px}.vvcdb-package-details a{color:inherit;font-weight:700}


/* Availability date picker */
.vvcdb-date-input{cursor:pointer!important}.vvcdb-date-picker{position:absolute;z-index:999999;background:#fff;border:1px solid var(--vvcdb-line);border-radius:18px;padding:14px;box-shadow:0 18px 55px rgba(17,24,39,.18);font-family:inherit;color:var(--vvcdb-ink)}.vvcdb-date-picker[hidden]{display:none}.vvcdb-picker-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:10px}.vvcdb-picker-head button{height:36px;border:1px solid var(--vvcdb-line);background:#fff;border-radius:10px;font-size:23px;line-height:1;cursor:pointer}.vvcdb-picker-title{text-align:center;text-transform:capitalize}.vvcdb-picker-week,.vvcdb-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.vvcdb-picker-week{margin-bottom:5px;color:var(--vvcdb-muted);font-size:10px;font-weight:800;text-align:center}.vvcdb-picker-week span{padding:5px 0}.vvcdb-picker-day{min-width:0;height:44px;border:1px solid var(--vvcdb-line);border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--vvcdb-ink);cursor:pointer;font:inherit}.vvcdb-picker-day span{font-weight:750;font-size:13px}.vvcdb-picker-day.is-free:hover{border-color:#111827;box-shadow:0 2px 8px rgba(17,24,39,.09)}.vvcdb-picker-day.is-occupied,.vvcdb-picker-day.is-past{background:#eceff1;color:#8b929a;border-color:#e1e4e7}.vvcdb-picker-day.is-disabled{cursor:not-allowed;opacity:.78}.vvcdb-picker-day.is-checkout-edge{cursor:pointer;opacity:1;outline:1px dashed #6b7280;outline-offset:-3px}.vvcdb-picker-day.is-checkin,.vvcdb-picker-day.is-checkout{background:#111827;color:#fff;border-color:#111827;opacity:1}.vvcdb-picker-day.is-in-range{background:#f1f3f5}.vvcdb-picker-empty{height:44px}.vvcdb-picker-loading{grid-column:1/-1;padding:34px;text-align:center;color:var(--vvcdb-muted)}.vvcdb-picker-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid var(--vvcdb-line);font-size:10px;color:var(--vvcdb-muted)}.vvcdb-picker-foot span{display:inline-flex;align-items:center;gap:5px}.vvcdb-picker-foot i{width:13px;height:13px;border-radius:4px;border:1px solid var(--vvcdb-line);display:inline-block}.vvcdb-picker-foot i.is-free{background:#fff}.vvcdb-picker-foot i.is-occupied{background:#eceff1}.vvcdb-picker-note{margin-left:auto;font-weight:800;color:var(--vvcdb-ink);background:#f3f4f6;border-radius:999px;padding:5px 8px;line-height:1.2}@media(max-width:620px){.vvcdb-date-picker{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:10px;width:auto!important}.vvcdb-picker-day{height:42px}}

/* A free night that cannot start a stay long enough to meet its minimum-stay rule. */
.vvcdb-picker-day.is-min-blocked{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;position:relative}.vvcdb-picker-day.is-min-blocked:after{content:'×';position:absolute;right:4px;top:2px;font-size:9px;font-weight:800;color:#9ca3af}


/* Price breakdown + customer booking */
.vvcdb-breakdown{margin-top:18px;border-top:1px solid var(--vvcdb-line);padding-top:14px}.vvcdb-breakdown h3{font-size:15px;margin:0 0 10px}.vvcdb-breakdown-unit{padding:9px 0;border-bottom:1px dashed var(--vvcdb-line)}.vvcdb-breakdown-unit>strong{display:block;margin-bottom:7px}.vvcdb-breakdown-unit>div,.vvcdb-breakdown-total{display:flex;justify-content:space-between;gap:14px;padding:3px 0;font-size:13px}.vvcdb-breakdown-unit .is-discount{color:#067647}.vvcdb-breakdown-total{font-size:16px;padding-top:12px}.vvcdb-customer-booking{max-width:760px;margin:25px auto}.vvcdb-customer-booking .vvcdb-checkout-summary{position:static}.vvcdb-lookup-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:18px}.vvcdb-lookup-form label{display:flex;flex-direction:column;gap:5px}.vvcdb-lookup-form input{border:1px solid var(--vvcdb-line);border-radius:12px;padding:12px 13px;min-height:46px}.vvcdb-inline-message.is-error{background:#fff1f2;color:#b42318;padding:12px;border-radius:10px}@media(max-width:620px){.vvcdb-lookup-form{grid-template-columns:1fr}}
.vvcdb-payment-summary{margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.09)}
.vvcdb-payment-summary>div{display:flex;justify-content:space-between;gap:16px;padding:6px 0}

.vvcdb-picker-error{grid-column:1/-1;color:#9b1c1c;text-align:center;line-height:1.35;padding:22px 10px}
/* 0.9.30 - calendario ricerca generale semplificato: nessuna disponibilità simulata prima di Cerca */
.vvcdb-date-picker.is-simple-search .vvcdb-picker-day.is-selectable{background:#fff;color:var(--vvcdb-ink);border-color:var(--vvcdb-line);cursor:pointer}
.vvcdb-date-picker.is-simple-search .vvcdb-picker-day.is-selectable:hover{border-color:#111827;box-shadow:0 2px 8px rgba(17,24,39,.09)}
.vvcdb-date-picker.is-simple-search .vvcdb-picker-foot>span{display:none}
.vvcdb-date-picker.is-simple-search .vvcdb-picker-note{margin-left:0;background:transparent;padding:2px 0;font-weight:650;color:var(--vvcdb-muted)}

.vvcdb-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.vvcdb-filter-head h3{margin:0!important}.vvcdb-filter-reset{border:0;background:transparent;color:var(--vvcdb-muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:4px}.vvcdb-filter-reset[hidden]{display:none!important}.vvcdb-search-explain{display:flex;flex-direction:column;align-items:center;gap:14px}.vvcdb-search-explain .vvcdb-btn{width:auto}

/* VVC Direct Booking 0.9.32 - result cards */
@media (min-width:901px){
  .vvcdb-result-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .vvcdb-result-image{width:100%;min-height:0;aspect-ratio:3/2;align-self:start;background-size:cover;background-position:center}
  .vvcdb-result-content{min-width:0;height:100%}
}
.vvcdb-meta{align-items:center;gap:10px 16px}
.vvcdb-meta>span{display:inline-flex;align-items:center;gap:7px;line-height:1.25}
.vvcdb-meta-icon{width:18px;height:18px;display:block;flex:0 0 18px;color:var(--vvcdb-accent)}
@media (max-width:900px) and (min-width:621px){
  .vvcdb-result-card{grid-template-columns:minmax(260px,42%) minmax(0,1fr)}
  .vvcdb-result-image{width:100%;min-height:0;aspect-ratio:3/2;align-self:start}
}
@media (max-width:620px){
  .vvcdb-result-image{width:100%;min-height:0;aspect-ratio:3/2}
  .vvcdb-meta{gap:10px 14px}
}


/* 0.9.45 - result card responsiveness follows the actual shortcode column width */
.vvcdb-result-card{container-type:inline-size;container-name:vvcdb-result-card}
.vvcdb-result-description{font-size:13px!important;line-height:1.5!important;color:#4b5563;margin:0!important;white-space:normal;overflow-wrap:anywhere}
.vvcdb-price{min-width:max-content;flex:0 0 auto}
.vvcdb-price strong{white-space:nowrap;display:block;line-height:1.05}
.vvcdb-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}
.vvcdb-actions .vvcdb-btn{max-width:100%;min-width:0}

@container vvcdb-result-card (max-width:760px){
  .vvcdb-result-content{padding:18px;gap:13px}
  .vvcdb-result-content h3{font-size:21px}
  .vvcdb-result-description{font-size:12.5px!important;line-height:1.45!important}
  .vvcdb-meta{font-size:13px;gap:9px 12px;margin-top:11px}
  .vvcdb-result-bottom{gap:10px;padding-top:12px}
  .vvcdb-price strong{font-size:21px}
  .vvcdb-actions{gap:6px}
  .vvcdb-actions .vvcdb-btn{padding:10px 12px;font-size:12px;border-radius:10px;letter-spacing:.02em}
}

@container vvcdb-result-card (max-width:620px){
  .vvcdb-result-bottom{align-items:stretch;flex-direction:column}
  .vvcdb-price{min-width:0}
  .vvcdb-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .vvcdb-actions .vvcdb-btn{width:100%;padding:10px 8px;font-size:11.5px}
}

@container vvcdb-result-card (max-width:500px){
  .vvcdb-result-image{width:100%;min-height:0;aspect-ratio:3/2}
  .vvcdb-result-content{padding:15px}
  .vvcdb-result-content h3{font-size:20px}
  .vvcdb-result-description{font-size:12px!important}
}


/* 0.9.46 - capacity above availability + physical counters */
.vvcdb-capacity-summary{display:flex;align-items:center;gap:7px;margin:0 0 7px;color:var(--vvcdb-ink);font-size:13px;line-height:1.2}
.vvcdb-capacity-summary .vvcdb-meta-icon{width:17px;height:17px;flex-basis:17px}
.vvcdb-capacity-summary strong{font-size:15px;font-weight:800;letter-spacing:.01em}
.vvcdb-capacity-summary + .vvcdb-kicker{margin-top:0}
@container vvcdb-result-card (max-width:620px){
  .vvcdb-capacity-summary{font-size:12px;margin-bottom:6px}
  .vvcdb-capacity-summary strong{font-size:14px}
  .vvcdb-meta{gap:8px 11px}
}
