/* Vistio Business v1.0.4 — stable UI recovery, sharper photography and calm hierarchy.
   Deliberately narrow overrides: do not replace the shared preview/public layout engine. */

/* No manual photo switching; photographs are illustrative until an owner uploads theirs. */
.vb102-preview-examples{justify-content:center!important;padding:12px 17px!important;text-align:center}
.vb102-preview-examples span{max-width:52ch;color:#d8c29f!important;font-size:11px;line-height:1.6}
.vb102-preview-refresh{display:none!important}

/* Personal design invitations should be an intentional, centered part of the page. */
.vb102-design-promo,.preview-service.vb102-design-promo{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;text-align:center!important;gap:11px!important;
  padding:24px 20px 27px!important;
}
.vb102-design-promo strong{display:block;color:#fff2df;font:400 clamp(22px,2vw,29px)/1.16 Georgia,serif;letter-spacing:-.03em}
.vb102-design-promo>span:not(.vb102-promo-badge){display:block;max-width:46ch;color:#d9c7a9;font-size:12px;line-height:1.7}
.vb102-design-promo a{align-self:center!important;min-height:43px!important;white-space:normal;text-align:center}

/* Low-noise template thumbnails. Each original layout class is preserved. */
.vbp-theme-mini{isolation:isolate;background:#121011}
.vbp-theme-mini .vbp-mini-head{display:none!important}
.vbp-theme-mini .vbp-mini-lines{display:none!important}
.vbp-theme-mini .vbp-mini-primary img,.vbp-theme-mini .vbp-mini-secondary img{
  object-fit:cover;object-position:center center;image-rendering:auto;
}
.vbp-theme-mini .vbp-mini-primary img{filter:brightness(.88) saturate(1.02)}
.vbp-theme-mini .vbp-mini-name{font-size:12px;line-height:1.1;letter-spacing:.01em;overflow-wrap:normal;text-shadow:0 2px 6px #000}
.vbp-theme-mini .vbp-mini-badge{font-size:7px;z-index:4;background:rgba(12,11,10,.92)}
.vbp-theme-mini .vbp-mini-sub{font-size:7px;z-index:3;max-width:70%;line-height:1.2}
.vbp-theme-mini .vbp-mini-pill{z-index:4}
.vbp-continuous-grid .vbp-choice-information{gap:5px!important}
.vbp-continuous-grid .vbp-choice-information strong{line-height:1.4!important;font-size:12px!important}
.vbp-continuous-grid .vbp-choice-information small{line-height:1.45!important}

/* Preview and public pages: same markup, same geometry. Avoid screenshot upscaling. */
.preview-studio #live-preview img,.vbtools-phone-screen img,.vbp-render img{image-rendering:auto}
.vbp-image img{object-fit:cover;object-position:center center}
.vbp-card .vbp-card-photo img{object-position:center 20%}
.vbp-hub .vbp-hub-hero-img img,.vbp-catalog .vbp-catalog-cover img{object-position:center center}
.vbp-card .vbp-card-cover img{object-position:center 35%}
/* Sufficient contrast over bright photos without changing template typography. */
.vbp-hub .vbp-hub-hero-copy h1,.vbp-catalog .vbp-catalog-intro h1,
.vbp-card.vbp-layout-photo-full .vbp-card-title h1,
.vbp-card.vbp-layout-full-overlay .vbp-card-title h1{
  text-shadow:0 3px 18px rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.7);
}
.vbp-hub .vbp-hub-hero-copy p,.vbp-catalog .vbp-catalog-intro p{
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}
@media (max-width:700px){
  .vb102-design-promo{padding:20px 15px 22px!important}
  .vb102-design-promo strong{font-size:23px}
  .vbp-theme-mini .vbp-mini-sub{display:none}
}
@media (prefers-reduced-motion:reduce){
  .vb102-design-promo::after{animation:none!important}
}
