.vitrinebox-model-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px max(20px,calc((100vw - 1240px)/2));background:#0b1f33;color:#f6f8fb;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.01em}.vitrinebox-model-bar a{color:inherit;text-decoration:none}.vitrinebox-model-bar a:last-child{color:#78e1d2;text-decoration:underline;text-underline-offset:3px}.vitrinebox-model-bar span{color:#14b8a6;margin-left:2px}.vitrinebox-model-bar a:focus-visible{outline:2px solid #14b8a6;outline-offset:3px}@media(max-width:500px){.vitrinebox-model-bar{font-size:10px;padding:9px 16px}}
[hidden]{display:none!important}.vb-booking,.vb-order{--vb-accent:#a75b56;--vb-surface:#fffdf8;--vb-border:#d4d5cc;--vb-text:#293c30;--vb-subtle:#69746a;max-width:1180px;width:calc(100% - 48px);margin:0 auto;padding:70px 0;color:var(--vb-text)}.vb-booking h2,.vb-order h2{font-size:clamp(32px,4vw,54px);line-height:1.1;margin:12px 0 18px;letter-spacing:-.04em}.vb-kicker{font-size:11px;letter-spacing:.15em;font-weight:800;text-transform:uppercase;color:var(--vb-accent)}.vb-booking-intro{max-width:650px;line-height:1.65;color:var(--vb-subtle);margin-bottom:38px}.vb-booking-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:38px;align-items:start}.vb-booking-steps{display:grid;gap:30px}.vb-booking fieldset,.vb-food-dialog fieldset{border:0;margin:0;padding:0;min-width:0}.vb-booking legend{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;margin-bottom:15px}.vb-booking legend span{color:var(--vb-accent);font-size:11px;letter-spacing:.1em}.vb-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vb-option{display:grid;grid-template-columns:1fr auto;gap:6px;text-align:left;align-items:start;padding:18px 16px;background:var(--vb-surface);border:1px solid var(--vb-border);color:var(--vb-text);font:inherit;cursor:pointer;border-radius:2px}.vb-option strong{font-size:14px;line-height:1.35}.vb-option small{grid-column:1;font-size:11px;color:var(--vb-subtle);line-height:1.5}.vb-option b{grid-column:2;grid-row:1/3;font-size:12px;white-space:nowrap;align-self:center}.vb-option.is-selected,.vb-chip.is-selected{outline:2px solid var(--vb-accent);outline-offset:-2px;background:var(--vb-surface);color:var(--vb-text)}.vb-days,.vb-times{display:flex;flex-wrap:wrap;gap:10px}.vb-chip{border:1px solid var(--vb-border);background:var(--vb-surface);color:var(--vb-text);padding:11px 16px;min-height:44px;font:inherit;font-size:13px;line-height:1.4;font-weight:600;cursor:pointer;min-width:65px;border-radius:2px}.vb-time-hint{font-size:13px;color:var(--vb-subtle)}.vb-booking-summary{padding:28px;background:var(--vb-surface);border:1px solid var(--vb-border)}.vb-booking-summary h3{font-size:25px;line-height:1.1;margin:12px 0 25px}.vb-booking-summary dl{margin:0 0 24px}.vb-booking-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--vb-border);font-size:13px}.vb-booking-summary dt{color:var(--vb-subtle)}.vb-booking-summary dd{margin:0;text-align:right;font-weight:700;max-width:65%}.vb-action{display:inline-flex;align-items:center;justify-content:center;width:100%;border:1px solid var(--vb-accent);background:var(--vb-accent);color:#fff;padding:14px 18px;font:700 13px/1.4 Arial,sans-serif;cursor:pointer;min-height:46px}.vb-action:disabled{opacity:.4;cursor:not-allowed}.vb-small{font-size:11px;line-height:1.65;color:var(--vb-subtle);margin:14px 0 0}.vb-booking-result pre,.vb-order-text{white-space:pre-wrap;overflow-wrap:anywhere;font:400 12px/1.7 Arial,sans-serif;border:1px solid var(--vb-border);padding:18px;margin:24px 0 15px}.vb-copy-status,.vb-order-status{font-size:12px;line-height:1.6;margin-top:12px}.vb-booking button:focus-visible,.vb-order button:focus-visible,.vb-food-dialog button:focus-visible{outline:3px solid var(--vb-accent);outline-offset:3px}.vb-booking button,.vb-order button{transition:background .15s,outline .15s}
body[data-model=barbearia] .vb-booking{--vb-accent:#b99146;--vb-surface:#201e19;--vb-border:#494234;--vb-text:#f5eddb;--vb-subtle:#b8b1a0;padding-block:80px}body[data-model=barbearia] .vb-action{color:#171411}body[data-model=personal] .vb-booking{--vb-accent:#c8ff3d;--vb-surface:#202728;--vb-border:#3b4647;--vb-text:#f4f7f2;--vb-subtle:#aeb7b4}body[data-model=personal] .vb-action{color:#121716}body[data-model=restaurante] .vb-order{--vb-accent:#ad3025;--vb-surface:#fffdf6;--vb-border:#d8d0c3;--vb-text:#22211d;--vb-subtle:#6b6a5f}.vb-order{padding-block:70px}.vb-order>p:not(.vb-kicker){color:var(--vb-subtle)}.vb-cart-items{margin-top:30px;border-top:1px solid var(--vb-border)}.vb-cart-item{display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;padding:24px 0;border-bottom:1px solid var(--vb-border)}.vb-cart-item h3{margin:0 0 7px;font-size:19px}.vb-cart-item p{font-size:13px;margin:0;color:var(--vb-subtle)}.vb-cart-item>strong{font-size:17px}.vb-cart-item>button{font-size:12px;background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--vb-accent)}.vb-order-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:27px}.vb-order-bottom>div>span{display:block;font-size:12px}.vb-order-bottom strong{display:block;font-size:32px;font-weight:800;letter-spacing:-.04em}.vb-order-bottom .vb-action{width:auto;min-width:240px;border-radius:30px}.vb-empty-cart{padding:27px 0;color:var(--vb-subtle)}.vb-food-dialog{--vb-accent:#ad3025;--vb-subtle:#6b6a5f;position:fixed;inset:0;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 36px);border:1px solid #d8d0c3;border-radius:16px;padding:35px;background:#fffdf6;color:#22211d;margin:auto;overflow:auto}.vb-food-dialog::backdrop{background:rgba(15,20,18,.72)}.vb-food-dialog h2{font-size:32px;line-height:1.1;letter-spacing:-.04em;margin:12px 0}.vb-dialog-close{position:absolute;top:12px;right:15px;font-size:30px;width:35px;height:35px;line-height:1;border:0;background:none;cursor:pointer}.vb-product-price{font-size:20px;font-weight:800;margin-bottom:25px}.vb-food-dialog legend{font-size:14px;font-weight:700;margin-bottom:12px}.vb-extra{display:flex;align-items:center;gap:10px;padding:12px 0;font-size:13px;border-bottom:1px solid #ded7c9}.vb-extra input{width:17px;height:17px;accent-color:#ad3025}.vb-extra b{margin-left:auto;font-size:12px}.vb-note-label{display:block;font-size:13px;font-weight:700;margin-top:22px}.vb-note-label textarea{display:block;width:100%;margin:8px 0 20px;border:1px solid #c5bdae;border-radius:5px;background:#fff;padding:10px;font:400 14px/1.5 Arial,sans-serif}.vb-quantity{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:13px;font-weight:700}.vb-quantity input{width:72px;padding:10px;border:1px solid #c5bdae;border-radius:5px;background:#fff;text-align:center;font:inherit}.vb-food-dialog .vb-action{border-radius:30px}.vb-mobile-open{display:flex!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:24px;background:#f7f5ec;z-index:60;border-bottom:1px solid #d4d5cc}
@media(max-width:800px){.vb-booking-grid{grid-template-columns:1fr;gap:30px}.vb-booking,.vb-order{width:calc(100% - 36px);padding-block:50px}.vb-booking-summary{max-width:650px}.vb-options{grid-template-columns:1fr 1fr}}@media(max-width:500px){.vb-options{grid-template-columns:1fr}.vb-booking-summary{padding:22px}.vb-cart-item{grid-template-columns:1fr auto;gap:10px}.vb-cart-item>button{grid-column:1/-1;text-align:left;padding:0}.vb-order-bottom{align-items:stretch;flex-direction:column;gap:16px}.vb-order-bottom .vb-action{width:100%}.vb-food-dialog{padding:30px 22px}.vb-chip{padding:10px 12px}.vb-booking h2,.vb-order h2{font-size:34px}}
.vb-booking,.vb-order{font-family:inherit}
.vb-booking-grid{gap:clamp(24px,4vw,54px)}
.vb-booking-summary{position:sticky;top:110px;box-shadow:0 16px 40px rgba(0,0,0,.06)}
.vb-option,.vb-chip,.vb-booking-summary,.vb-food-dialog{border-radius:10px}
.vb-option:hover,.vb-chip:hover{border-color:var(--vb-accent)}
.vb-option:focus-visible,.vb-chip:focus-visible,.vb-contact:focus-visible{outline:3px solid var(--vb-accent);outline-offset:2px}
.vb-action{border-radius:8px;text-decoration:none;transition:filter .2s ease,transform .2s ease}
.vb-action:not(:disabled):hover{filter:brightness(.94);transform:translateY(-1px)}
.vb-contact{margin-top:18px;padding:15px 18px;line-height:1.35;text-align:center}
.vb-booking-result pre,.vb-order-text{border-radius:8px;background:var(--vb-surface)}
body[data-model=estetica] .vb-booking{--vb-accent:#a75b56;--vb-surface:#f7f3ec;--vb-border:#d6d0c5;--vb-text:#293c30;--vb-subtle:#596a5f}
body[data-model=barbearia] .vb-booking{--vb-accent:#d0ab68;--vb-surface:#211e1a;--vb-border:#574b3c;--vb-text:#f2ead9;--vb-subtle:#c1b5a5}
body[data-model=personal] .vb-booking{--vb-accent:#c8ff3d;--vb-surface:#202728;--vb-border:#435052;--vb-text:#f4f7f2;--vb-subtle:#b6c2bd}
body[data-model=restaurante] .vb-order{--vb-accent:#9e342b;--vb-surface:#fffaf1;--vb-border:#d9ccba;--vb-text:#22211d;--vb-subtle:#6b675e}

.vitrinebox-model-bar{flex-wrap:wrap;padding-block:10px}
.vitrinebox-model-bar a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid rgba(246,248,251,.55);border-radius:999px;line-height:1.2;text-align:center;transition:background .2s ease,border-color .2s ease}
.vitrinebox-model-bar a:hover{background:rgba(246,248,251,.14)}
.vitrinebox-model-bar a:last-child{background:#14b8a6;border-color:#14b8a6;color:#0b1f33;text-decoration:none}
.vitrinebox-model-bar a:last-child:hover{background:#52d3c4}
.vitrinebox-model-bar span{margin-inline:1px 4px}
.vitrinebox-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:11px 18px;border:1px solid #14b8a6;border-radius:999px;background:#0b1f33;color:#f6f8fb!important;font:700 13px/1.3 Arial,sans-serif;text-decoration:none;transition:transform .2s ease,background .2s ease}
.vitrinebox-back-link:hover{background:#143a50;transform:translateY(-2px)}
footer>.vitrinebox-back-link{display:table;margin:0 auto 28px}
.product-card,.plan-card,.service-row{transition:translate .28s ease,box-shadow .28s ease,border-color .28s ease}
@media(hover:hover){.product-card:hover,.plan-card:hover,.service-row:hover{translate:0 -3px;box-shadow:0 14px 32px rgba(11,31,51,.12)}}
.vb-booking-result{display:grid;gap:12px;min-width:0}
.vb-booking-result[hidden]{display:none}
.vb-booking-result pre{margin:20px 0 4px}
.vb-booking-result .vb-contact,.vb-booking-result .vb-copy{margin:0;min-width:0}
.vb-booking-result .vb-copy{border:1px solid var(--vb-accent);background:transparent;color:var(--vb-text)}
.vb-booking-result .vb-copy:hover{background:var(--vb-surface)}
.vb-order-contact{margin-top:18px}
.vb-reveal{opacity:0;translate:0 20px;transition:opacity .65s ease,translate .65s cubic-bezier(.2,.7,.2,1)}
.vb-reveal.is-visible{opacity:1;translate:0 0}
@media(max-width:500px){.vitrinebox-model-bar{gap:8px;padding:9px 12px}.vitrinebox-model-bar a{flex:1;min-width:0;font-size:10px;padding-inline:8px}.vb-booking-result{gap:14px}}
@media(prefers-reduced-motion:reduce){.vb-reveal{opacity:1;translate:0 0;transition:none}}
@media(max-width:800px){.vb-booking-summary{position:static}}

/* Shared motion keeps each demo's own colors and typography. */
body[data-model]{max-width:100%;overflow-x:clip}
body[data-model] :is(.button,.btn-primary,.btn-light,.vb-action,.add-card-button,.vitrinebox-back-link,.vitrinebox-model-bar a:last-child){position:relative;overflow:hidden;isolation:isolate}
body[data-model] :is(.button,.btn-primary,.btn-light,.vb-action,.add-card-button,.vitrinebox-back-link,.vitrinebox-model-bar a:last-child):not(:disabled)::after{content:"";position:absolute;inset:-35% auto -35% -40%;width:38%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:translateX(-180%) skewX(-18deg);animation:vb-model-shimmer 3s ease-in-out infinite}
@keyframes vb-model-shimmer{0%,12%{transform:translateX(-180%) skewX(-18deg)}36%,100%{transform:translateX(360%) skewX(-18deg)}}
@media(hover:hover){.product-card img{transition:transform .45s ease}.product-card:hover img{transform:scale(1.035)}.vb-option:hover{box-shadow:0 7px 20px rgba(0,0,0,.08)}}
@media(prefers-reduced-motion:reduce){body[data-model] :is(.button,.btn-primary,.btn-light,.vb-action,.add-card-button,.vitrinebox-back-link,.vitrinebox-model-bar a:last-child)::after{animation:none;display:none}}
@media(prefers-reduced-motion:reduce){
  .vb-reveal{opacity:0;translate:0 0;transition:opacity .4s ease!important}
  .vb-reveal.is-visible{opacity:1}
  body[data-model] :is(.button,.btn-primary,.btn-light,.vb-action,.add-card-button,.vitrinebox-back-link,.vitrinebox-model-bar a:last-child):not(:disabled)::after{display:block;animation:vb-model-shimmer 3s ease-in-out infinite!important}
}
