.vbdo-public{
    --vbdo-primary:#2c3338;
    --vbdo-on-primary:#fff;
    --vbdo-border:#e1e5ea;
    --vbdo-bg:#fff;
    --vbdo-soft:#f6f7f8;
    --vbdo-text:#20242a;
    --vbdo-muted:#66707b;
    color:var(--vbdo-text);
    font-family:inherit;
    width:100%;
}
.vbdo-public *{box-sizing:border-box}
.vbdo-public button,.vbdo-public a,.vbdo-public input,.vbdo-public select{touch-action:manipulation}

.vbdo-heading{
    display:flex;
    align-items:center;
    gap:20px;
    margin:0;
    min-width:0;
}
.vbdo-heading-mark{
    width:86px!important;
    height:86px!important;
    min-width:86px!important;
    flex:0 0 86px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:var(--vbdo-primary)!important;
    color:var(--vbdo-on-primary)!important;
    box-shadow:0 10px 28px color-mix(in srgb,var(--vbdo-primary) 20%,transparent);
    overflow:hidden;
}
.vbdo-heading-mark svg{display:block;width:48px;height:48px;color:inherit}
.vbdo-heading-copy{min-width:0}
.vbdo-heading-kicker{
    display:block;
    margin:0 0 6px;
    color:var(--vbdo-primary);
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.09em;
}
.vbdo-heading h2{
    margin:0 0 7px!important;
    padding:0!important;
    font-size:clamp(27px,3vw,38px)!important;
    line-height:1.08!important;
    font-weight:700!important;
    color:var(--vbdo-text)!important;
}
.vbdo-heading h2 a{color:inherit!important;text-decoration:none!important}
.vbdo-heading h2 a:hover{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
.vbdo-heading p{margin:0!important;color:var(--vbdo-muted)!important;line-height:1.55!important;max-width:460px}

.vbdo-calendar-hero{
    display:grid;
    grid-template-columns:minmax(280px,.9fr) minmax(390px,1.1fr);
    gap:32px;
    align-items:center;
    margin:0 0 24px;
}
.vbdo-calendar-intro{
    padding:24px 10px 24px 4px;
}
.vbdo-calendar-help{
    margin:18px 0 0 106px!important;
    color:var(--vbdo-muted)!important;
    max-width:420px;
    font-size:13px;
    line-height:1.55;
}

.vbdo-calendar-card,.vbdo-search-card,.vbdo-results{
    position:relative;
    background:var(--vbdo-bg)!important;
    border:1px solid var(--vbdo-border)!important;
    border-radius:18px!important;
    box-shadow:0 12px 34px rgba(20,30,40,.07)!important;
    padding:18px;
    margin:0 0 22px;
}
.vbdo-calendar-hero .vbdo-calendar-card{margin:0}
.vbdo-calendar-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    background:var(--vbdo-primary)!important;
    color:var(--vbdo-on-primary)!important;
    border-radius:13px;
    padding:8px 12px;
    margin-bottom:14px;
}
.vbdo-calendar-toolbar strong{font-size:17px;font-weight:800;color:inherit!important}
.vbdo-calendar-nav{
    appearance:none!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    font:inherit!important;
    font-size:28px!important;
    line-height:1!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    padding:0!important;
    border-radius:10px!important;
    cursor:pointer!important;
}
.vbdo-calendar-nav:hover,.vbdo-calendar-nav:focus-visible{background:rgba(255,255,255,.16)!important;outline:2px solid currentColor!important;outline-offset:2px!important}
.vbdo-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important}
.vbdo-calendar-weekday{text-align:center!important;font-size:12px!important;font-weight:750!important;color:var(--vbdo-muted)!important;padding:8px 2px!important}
.vbdo-calendar-blank{min-height:44px}
.vbdo-calendar-day{
    position:relative;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    width:auto!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    color:var(--vbdo-text)!important;
    font:inherit!important;
    font-size:14px!important;
    font-weight:650!important;
    box-shadow:none!important;
}
.vbdo-calendar-day.is-available{
    width:42px!important;
    height:42px!important;
    min-height:42px!important;
    justify-self:center;
    background:var(--vbdo-day-color,var(--vbdo-primary))!important;
    color:var(--vbdo-on-primary)!important;
    cursor:pointer!important;
    box-shadow:0 5px 13px color-mix(in srgb,var(--vbdo-day-color,var(--vbdo-primary)) 18%,transparent)!important;
}
.vbdo-calendar-day.is-available:hover,.vbdo-calendar-day.is-available:focus-visible{filter:brightness(.93);outline:3px solid color-mix(in srgb,var(--vbdo-primary) 28%,transparent)!important;outline-offset:2px!important}
.vbdo-day-count{position:absolute;right:-3px;top:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#fff;color:#111;font-size:10px;line-height:18px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.vbdo-calendar-popover{position:absolute;z-index:999;width:min(310px,calc(100% - 16px));background:#151a20;color:#fff;border-radius:13px;padding:13px;box-shadow:0 14px 36px rgba(0,0,0,.24)}
.vbdo-calendar-popover strong{color:#fff!important}
.vbdo-popover-list{display:grid;gap:6px;margin:9px 0}
.vbdo-popover-list a,.vbdo-popover-day-link{color:#fff!important;text-decoration:none!important}
.vbdo-popover-list a{padding:8px 9px;background:rgba(255,255,255,.1);border-radius:8px;line-height:1.35}
.vbdo-popover-list a:hover,.vbdo-popover-list a:focus-visible{text-decoration:underline!important}
.vbdo-popover-day-link{display:inline-block;font-weight:700;margin-top:5px}

.vbdo-search-form{display:grid;gap:14px}
.vbdo-search-main label,.vbdo-search-dates label,.vbdo-search-selects label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.vbdo-search-form input,.vbdo-search-form select{width:100%;min-height:44px;border:1px solid #cfd4da!important;border-radius:10px!important;background:#fff!important;color:var(--vbdo-text)!important;padding:9px 11px!important;font:inherit!important}
.vbdo-search-form input:focus,.vbdo-search-form select:focus{outline:3px solid color-mix(in srgb,var(--vbdo-primary) 18%,transparent)!important;border-color:var(--vbdo-primary)!important}
.vbdo-search-dates,.vbdo-search-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vbdo-search-actions{display:flex;gap:10px;flex-wrap:wrap}
.vbdo-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:9px 14px!important;border-radius:10px!important;border:1px solid transparent!important;text-decoration:none!important;font:inherit!important;font-weight:700!important;cursor:pointer!important;transition:transform .12s ease,filter .12s ease,background .12s ease!important}
.vbdo-btn:hover{transform:translateY(-1px)}
.vbdo-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--vbdo-primary) 22%,transparent)!important;outline-offset:2px!important}
.vbdo-btn-primary{background:var(--vbdo-primary)!important;color:var(--vbdo-on-primary)!important}
.vbdo-btn-primary:hover{filter:brightness(.94)}
.vbdo-btn-secondary{background:#fff!important;color:var(--vbdo-primary)!important;border-color:var(--vbdo-primary)!important}

.vbdo-results{padding:0;overflow:hidden}
.vbdo-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--vbdo-soft);border-bottom:1px solid var(--vbdo-border)}
.vbdo-results-head span{font-size:12px;color:var(--vbdo-muted)}
.vbdo-list{display:grid}
.vbdo-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border-bottom:1px solid var(--vbdo-border)}
.vbdo-item:last-child{border-bottom:0}
.vbdo-item-icon{display:flex;align-items:center;justify-content:center;width:58px;height:68px;border-radius:12px;background:var(--vbdo-soft);border:1px solid var(--vbdo-border);color:var(--vbdo-primary);font-weight:850;font-size:13px;letter-spacing:.04em}
.vbdo-item-content h3{margin:7px 0 8px;font-size:18px;line-height:1.3}
.vbdo-item-topline{display:flex;gap:7px;flex-wrap:wrap}
.vbdo-chip{display:inline-flex;border-radius:999px;background:var(--vbdo-primary);color:var(--vbdo-on-primary);padding:3px 9px;font-size:11px;font-weight:750}
.vbdo-chip-light{background:var(--vbdo-soft);color:var(--vbdo-text);border:1px solid var(--vbdo-border)}
.vbdo-chip-warning{background:#fff3cd;color:#7a4b00}
.vbdo-meta{display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--vbdo-muted);font-size:13px}
.vbdo-integrity{margin-top:8px;color:var(--vbdo-muted);font-size:12px}
.vbdo-integrity code{font-size:11px}
.vbdo-item-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.vbdo-empty{padding:26px;text-align:center;color:var(--vbdo-muted)}
.vbdo-pagination{display:flex;flex-wrap:wrap;gap:6px;padding:16px 18px;border-top:1px solid var(--vbdo-border);background:var(--vbdo-soft)}
.vbdo-pagination .page-numbers{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--vbdo-border);border-radius:9px;background:#fff;color:var(--vbdo-text);text-decoration:none}
.vbdo-pagination .page-numbers.current{background:var(--vbdo-primary);color:var(--vbdo-on-primary);border-color:var(--vbdo-primary)}
.vbdo-legal{text-align:center;color:var(--vbdo-muted);font-size:12px;margin:16px 0}
.vbdo-legal a{color:inherit}

.vbdo-verify-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:18px;align-items:center;background:var(--vbdo-soft);border:1px solid var(--vbdo-border);border-radius:16px;padding:18px;margin:0 0 22px}
.vbdo-verify-card p{margin:5px 0 0;color:var(--vbdo-muted);font-size:13px}
.vbdo-verify-form{display:flex;gap:8px}
.vbdo-verify-form input{flex:1;min-width:0;min-height:42px;border:1px solid #cfd4da;border-radius:10px;padding:9px 11px;font:inherit}
.vbdo-verify-result{grid-column:1/-1;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:650}
.vbdo-verify-result.is-ok{background:#edf8ef;color:#155f2a}
.vbdo-verify-result.is-error{background:#fff0f0;color:#8b2929}

@media(max-width:820px){
    .vbdo-calendar-hero{grid-template-columns:1fr;gap:20px}
    .vbdo-calendar-intro{padding:8px 2px 0}
    .vbdo-calendar-help{margin-left:106px!important}
}
@media(max-width:760px){
    .vbdo-search-dates,.vbdo-search-selects{grid-template-columns:1fr}
    .vbdo-item{grid-template-columns:auto minmax(0,1fr)}
    .vbdo-item-actions{grid-column:1/-1;justify-content:stretch}
    .vbdo-item-actions .vbdo-btn{flex:1}
    .vbdo-results-head{align-items:flex-start;flex-direction:column}
    .vbdo-calendar{gap:4px!important}
    .vbdo-calendar-day,.vbdo-calendar-blank{min-height:40px!important}
    .vbdo-calendar-popover{left:8px!important;right:8px!important;width:auto!important}
    .vbdo-verify-card{grid-template-columns:1fr}
    .vbdo-verify-form{flex-direction:column}
}
@media(max-width:520px){
    .vbdo-heading{align-items:center;gap:14px}
    .vbdo-heading-mark{width:68px!important;height:68px!important;min-width:68px!important;flex-basis:68px!important}
    .vbdo-heading-mark svg{width:38px;height:38px}
    .vbdo-heading-kicker{font-size:9px}
    .vbdo-heading h2{font-size:27px!important}
    .vbdo-heading p{font-size:13px!important}
    .vbdo-calendar-help{margin:14px 0 0!important}
    .vbdo-calendar-card,.vbdo-search-card{padding:12px}
    .vbdo-calendar-weekday{font-size:10px!important}
    .vbdo-calendar-day{font-size:13px!important}
    .vbdo-calendar-day.is-available{width:38px!important;height:38px!important;min-height:38px!important}
    .vbdo-item{grid-template-columns:1fr;padding:15px}
    .vbdo-item-icon{display:none}
    .vbdo-item-actions{grid-column:auto}
    .vbdo-search-actions .vbdo-btn{flex:1}
}
