/* VESNA Book Store — v1.2.0
   One stylesheet, one source of truth. Every value is a variable driven by the Elementor Style tab.
   Colours/borders use !important only where Elementor kits and themes restyle <button>/<a>/<h2>. */

.vbs-root{
 /* layout */
 --vbs-left:50%;--vbs-height:100vh;--vbs-content-max:720px;
 --vbs-hero-padding:60px;--vbs-catalog-padding:24px;--vbs-section-spacing:20px;
 /* stories */
 --vbs-stories-gap:16px;--vbs-stories-filters-gap:32px;--vbs-filters-cards-gap:20px;--vbs-ring-width:1.5px;--vbs-ring-gap:3px;
 --vbs-baseline-shift:.15em; /* fallback for browsers without text-box-trim (Firefox); tuned for Helvetica Neue LT Pro */
--vbs-story-size:84px;--vbs-story-number-size:24px;
 --vbs-story-text:#161616;--vbs-story-inner:#191919;--vbs-story-inner-text:#fff;--vbs-story-viewed:#cecece;
 --vbs-ring-a:#ffbd49;--vbs-ring-b:#ef376d;--vbs-ring-c:#6442ff;
 /* filters */
 --vbs-filter-gap:9px;--vbs-pill-x:16px;--vbs-pill-height:36px;
 --vbs-pill-bg:#fff;--vbs-pill-text:#161616;--vbs-pill-border:#dadada;
 --vbs-pill-hover-bg:#fff;--vbs-pill-hover-text:#161616;--vbs-pill-hover-border:#161616;
 --vbs-active-bg:#161616;--vbs-pill-active-text:#fff;--vbs-pill-active-border:#161616;
 --vbs-pill-icon-size:17px;--vbs-logo-width:105px;--vbs-pill-icon-gap:6px;
 --vbs-more-icon-size:16px;
 --vbs-more-normal-bg:#fff;--vbs-more-normal-text:#161616;--vbs-more-normal-border:#dadada;
 --vbs-more-hover-bg:#fff;--vbs-more-hover-text:#161616;--vbs-more-hover-border:#161616;
 --vbs-more-active-bg:#161616;--vbs-more-active-text:#fff;--vbs-more-active-border:#161616;
 --vbs-menu-bg:#fff;--vbs-menu-text:#161616;--vbs-menu-hover-bg:#f5f5f5;--vbs-menu-border:#dedede;
 /* cards */
 --vbs-cards-gap:14px;--vbs-card-padding:18px;--vbs-card-gap:18px;--vbs-card-radius:12px;--vbs-card-min-height:0px;
 --vbs-cover-width:90px;--vbs-cover-height:139px;
 --vbs-card-bg:#fff;--vbs-line:#dedede;--vbs-text:#161616;--vbs-muted:#777;--vbs-catalog-bg:#fff;
 --vbs-badge-bg:#fff;--vbs-badge-text:#161616;--vbs-badge-border:#d6d6d6;
 --vbs-hero-title:#fff;--vbs-hero-subtitle:#fff;--vbs-price-text:#161616;
 /* buy button */
 --vbs-button-height:40px;--vbs-button-x:16px;--vbs-button-min-width:164px;--vbs-button-radius:8px;
 --vbs-button-bg:#161616;--vbs-button-text:#fff;--vbs-button-border:#161616;
 --vbs-button-hover-bg:#333;--vbs-button-hover-text:#fff;--vbs-button-hover-border:#333;
 --vbs-button-pressed-bg:#000;--vbs-button-pressed-text:#fff;--vbs-button-pressed-border:#000;

 position:relative;width:100%;max-width:none;
 color:var(--vbs-text);background:var(--vbs-catalog-bg);
 font-family:var(--e-global-typography-text-font-family,inherit);font-size:14px;line-height:1.45;
 -webkit-font-smoothing:antialiased;
}
.vbs-root *,.vbs-root *::before,.vbs-root *::after{box-sizing:border-box}
.vbs-root a{text-decoration:none}
.vbs-root [hidden],.vbs-root button[hidden],.vbs-root button.vbs-pill[hidden],.vbs-root button.vbs-circle[hidden],.vbs-root .vbs-card[hidden]{display:none!important}
.vbs-root button{font-family:inherit;-webkit-tap-highlight-color:transparent}

/* ---------- Layout ---------- */
.vbs-layout{display:grid;grid-template-columns:minmax(0,var(--vbs-left)) minmax(0,1fr);width:100%;height:var(--vbs-height);min-height:650px}

/* ---------- Hero ---------- */
.vbs-hero{position:relative;isolation:isolate;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 75% 24%,#545454 0%,#222 42%,#0a0a0a 100%);color:#fff}
.vbs-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vbs-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.02) 32%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.88) 100%);pointer-events:none}
.vbs-hero-logo,.vbs-hero-copy{position:absolute;z-index:1;left:var(--vbs-hero-padding);right:var(--vbs-hero-padding)}
.vbs-hero-logo{top:clamp(24px,3vw,52px);right:auto!important}
.vbs-hero-logo a{display:block;line-height:0;border:0;box-shadow:none;background:none}
.vbs-hero-logo img{display:block;width:var(--vbs-logo-width);max-width:40vw;height:auto;max-height:none;object-fit:contain;object-position:left center}
.vbs-hero-copy{bottom:clamp(40px,7vh,108px)}
.vbs-root .vbs-title{margin:0!important;padding:0;font-size:clamp(36px,4.2vw,68px);font-weight:500;letter-spacing:-.05em;line-height:1.08;color:var(--vbs-hero-title)!important;text-wrap:balance;text-shadow:0 1px 12px rgba(0,0,0,.16)}
.vbs-root .vbs-subtitle{margin:20px 0 0!important;padding:0;font-size:16px;font-weight:400;line-height:1.5;color:var(--vbs-hero-subtitle)!important}

/* ---------- Catalog column ---------- */
.vbs-catalog{height:100%;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--vbs-catalog-bg);padding:0 var(--vbs-catalog-padding) 28px}
/* Full width of the white column; side gaps appear only once the column is wider than --vbs-content-max. */
.vbs-inner{width:100%;max-width:var(--vbs-content-max);margin:0 auto;min-width:0;container-type:inline-size;container-name:vbs}

/* ---------- Stories ---------- */
.vbs-stories{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--vbs-stories-gap);padding:var(--vbs-section-spacing) 0 0;margin:0}
.vbs-root button.vbs-story,
.vbs-root button.vbs-story:hover,
.vbs-root button.vbs-story:focus,
.vbs-root button.vbs-story:active{
 appearance:none;display:inline-flex!important;flex-direction:column;align-items:center;gap:8px;
 width:auto;min-width:var(--vbs-story-size);margin:0!important;padding:0!important;
 border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
 color:var(--vbs-story-text)!important;transform:none!important;opacity:1!important;cursor:pointer;text-decoration:none!important;
}
.vbs-ring{position:relative;display:grid;place-items:center;flex:none;width:var(--vbs-story-size);height:var(--vbs-story-size);border-radius:50%}
.vbs-root .vbs-story .vbs-ring{background:conic-gradient(var(--vbs-ring-a),var(--vbs-ring-b),var(--vbs-ring-c),var(--vbs-ring-a))!important}
.vbs-root .vbs-story.vbs-viewed .vbs-ring{background:var(--vbs-story-viewed)!important}
/* ring = colour band (--vbs-ring-width) + white gap (--vbs-ring-gap) + dark disc */
.vbs-ring::before{content:'';position:absolute;inset:var(--vbs-ring-width);border-radius:50%;background:var(--vbs-catalog-bg)}
.vbs-root .vbs-story-image{position:relative;display:grid;place-items:center;width:calc(var(--vbs-story-size) - 2 * (var(--vbs-ring-width) + var(--vbs-ring-gap)));height:calc(var(--vbs-story-size) - 2 * (var(--vbs-ring-width) + var(--vbs-ring-gap)));border-radius:50%;overflow:hidden;background:var(--vbs-story-inner)!important;color:var(--vbs-story-inner-text)!important;font-size:var(--vbs-story-number-size);font-weight:600;letter-spacing:-.06em;line-height:1}
.vbs-story-image img{width:100%;height:100%;object-fit:cover}
.vbs-root .vbs-story-label{font-size:12px;line-height:1.25;text-align:center;color:var(--vbs-story-text)!important}

/* ---------- Filters ---------- */
.vbs-filters{position:sticky;top:0;z-index:15;margin:0;padding:var(--vbs-stories-filters-gap) 0 var(--vbs-filters-cards-gap);background:var(--vbs-catalog-bg);min-width:0}
.vbs-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--vbs-filter-gap)}
.vbs-added{display:contents}
.vbs-more-wrap{position:relative;display:inline-flex;align-items:center;gap:var(--vbs-filter-gap);flex:none}

/* Pills and round controls share one box model: same height, same 1px border, same line box. */
.vbs-root button.vbs-pill,
.vbs-root button.vbs-circle{
 appearance:none;box-sizing:border-box!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none;
 height:var(--vbs-pill-height)!important;min-height:0!important;margin:0!important;
 border-width:1px!important;border-style:solid!important;border-radius:999px!important;
 box-shadow:none!important;outline:none;transform:none!important;filter:none!important;opacity:1!important;
 text-decoration:none!important;text-transform:none;letter-spacing:0;white-space:nowrap;vertical-align:middle;cursor:pointer;
 transition:background-color .15s ease,color .15s ease,border-color .15s ease!important;
}
.vbs-root button.vbs-pill{gap:var(--vbs-pill-icon-gap);padding:0 var(--vbs-pill-x)!important;width:auto;font-size:13px;font-weight:400;line-height:1}
.vbs-root button.vbs-circle{width:var(--vbs-pill-height)!important;min-width:var(--vbs-pill-height)!important;padding:0!important;font-size:0;line-height:0}
.vbs-root button.vbs-pill .vbs-pill-icon{display:block;flex:none;width:var(--vbs-pill-icon-size);height:var(--vbs-pill-icon-size);margin-left:-2px;fill:currentColor;pointer-events:none}
.vbs-root button.vbs-pill i.vbs-pill-icon{font-size:var(--vbs-pill-icon-size);line-height:1;width:auto;height:auto}
.vbs-root button.vbs-pill .vbs-pill-icon path{fill:currentColor}
.vbs-root button.vbs-pill .vbs-pill-label{display:block}
.vbs-root button.vbs-circle svg{display:block;width:var(--vbs-more-icon-size);height:var(--vbs-more-icon-size);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;pointer-events:none}

/* Pill — normal / focus (themes paint :focus, so it is pinned to the normal look) */
.vbs-root button.vbs-pill,
.vbs-root button.vbs-pill:focus,
.vbs-root button.vbs-pill:active{background:var(--vbs-pill-bg)!important;color:var(--vbs-pill-text)!important;border-color:var(--vbs-pill-border)!important}
/* Pill — selected (wins over hover/focus/active: a selected pill never changes when touched) */
.vbs-root button.vbs-pill[aria-pressed=true],
.vbs-root button.vbs-pill[aria-pressed=true]:hover,
.vbs-root button.vbs-pill[aria-pressed=true]:focus,
.vbs-root button.vbs-pill[aria-pressed=true]:active{background:var(--vbs-active-bg)!important;color:var(--vbs-pill-active-text)!important;border-color:var(--vbs-pill-active-border)!important}

/* Round + / × — normal, open/selected */
.vbs-root button.vbs-circle,
.vbs-root button.vbs-circle:focus,
.vbs-root button.vbs-circle:active{background:var(--vbs-more-normal-bg)!important;color:var(--vbs-more-normal-text)!important;border-color:var(--vbs-more-normal-border)!important}
.vbs-root button.vbs-more[aria-expanded=true],
.vbs-root button.vbs-more[aria-expanded=true]:hover,
.vbs-root button.vbs-more[aria-expanded=true]:focus{background:var(--vbs-more-active-bg)!important;color:var(--vbs-more-active-text)!important;border-color:var(--vbs-more-active-border)!important}

/* Hover only on devices that really hover (no sticky hover after a tap on phones). Border darkens, nothing jumps. */
@media(hover:hover){
 .vbs-root button.vbs-pill:not([aria-pressed=true]):hover{background:var(--vbs-pill-hover-bg)!important;color:var(--vbs-pill-hover-text)!important;border-color:var(--vbs-pill-hover-border)!important}
 .vbs-root button.vbs-circle:not([aria-expanded=true]):hover{background:var(--vbs-more-hover-bg)!important;color:var(--vbs-more-hover-text)!important;border-color:var(--vbs-more-hover-border)!important}
}

/* Dropdown */
.vbs-more-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:240px;max-width:85vw;max-height:min(370px,55vh);overflow:auto;padding:8px;background:var(--vbs-menu-bg);border:1px solid var(--vbs-menu-border);border-radius:12px;box-shadow:0 15px 35px rgba(0,0,0,.1);color:var(--vbs-menu-text)}
.vbs-more-heading{padding:8px 10px 10px;font-size:12px;color:var(--vbs-muted)}
.vbs-root button.vbs-more-item,
.vbs-root button.vbs-more-item:hover,
.vbs-root button.vbs-more-item:focus,
.vbs-root button.vbs-more-item:active{
 appearance:none;display:flex!important;align-items:center;gap:10px;width:100%;height:auto;min-height:40px;margin:0!important;padding:0 10px!important;
 border:0!important;border-radius:6px!important;background:transparent!important;color:var(--vbs-menu-text)!important;box-shadow:none!important;transform:none!important;
 font-family:inherit;font-size:13px;font-weight:400;line-height:1;letter-spacing:0;text-transform:none;text-align:left;white-space:nowrap;cursor:pointer;outline:none}
@media(hover:hover){.vbs-root button.vbs-more-item:hover{background:var(--vbs-menu-hover-bg)!important}}
.vbs-root button.vbs-more-item:focus-visible{background:var(--vbs-menu-hover-bg)!important}
.vbs-root .vbs-more-item .vbs-more-name{display:block;flex:1;text-box:trim-both cap alphabetic}
.vbs-root .vbs-more-item .vbs-pill-icon{display:block;flex:none;width:var(--vbs-pill-icon-size);height:var(--vbs-pill-icon-size);fill:currentColor}
.vbs-root .vbs-more-item .vbs-more-check{display:block;flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.vbs-root .vbs-more-item[aria-checked=true] .vbs-more-check{visibility:visible}
.vbs-root .vbs-more-item[aria-checked=true]{font-weight:500}

/* ---------- Cards ---------- */
/* All cards share one column grid (subgrid), so the price/button column — and every Buy button — is identical in width across cards. */
.vbs-cards{display:grid;grid-template-columns:calc(var(--vbs-cover-width) + var(--vbs-card-padding) + 1px) minmax(0,1fr) auto;row-gap:var(--vbs-cards-gap);column-gap:var(--vbs-card-gap);margin:0;padding:0 0 16px;transition:opacity .16s ease}
.vbs-cards.vbs-changing{opacity:0}

/* Wide card:  [cover] [info …………] [price / button]  */
.vbs-card{
 position:relative;display:grid;
 grid-column:1 / -1;grid-template-columns:var(--vbs-cover-width) minmax(0,1fr) auto;
 grid-template-areas:"cover info action";
 align-items:center;column-gap:var(--vbs-card-gap);row-gap:12px;
 min-width:0;min-height:var(--vbs-card-min-height);padding:var(--vbs-card-padding);
 background:var(--vbs-card-bg);border:1px solid var(--vbs-line);border-radius:var(--vbs-card-radius);
}
@supports (grid-template-columns:subgrid){.vbs-card{grid-template-columns:subgrid}}
.vbs-action .vbs-buy{width:100%}
.vbs-cover-stage{grid-area:cover;display:flex;align-items:center;justify-content:center;align-self:center}
.vbs-cover-upload,.vbs-fake-cover{display:block;width:var(--vbs-cover-width);height:var(--vbs-cover-height);max-width:100%;border-radius:2px;box-shadow:5px 7px 12px rgba(0,0,0,.12)}
.vbs-cover-upload{object-fit:cover}
.vbs-fake-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:11px 9px 9px;overflow:hidden}
.vbs-fake-cover::before{content:'';position:absolute;top:0;bottom:0;left:0;width:4px;background:rgba(0,0,0,.13)}
.vbs-fake-cover span,.vbs-fake-cover small{font-size:6px;line-height:1.25}
.vbs-fake-cover strong{font-size:14px;line-height:1;letter-spacing:-.045em;overflow-wrap:anywhere}
.vbs-cover-strategies{background:#171717;color:#fff}
.vbs-cover-tactics{background:#d9d5ce;color:#111}
.vbs-cover-combined{background:#eae7e0;color:#111}

.vbs-info{grid-area:info;min-width:0;align-self:center}
.vbs-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.vbs-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border:1px solid var(--vbs-badge-border);border-radius:999px;background:var(--vbs-badge-bg);color:var(--vbs-badge-text);font-size:11px;line-height:1}
.vbs-pages{font-size:11px;line-height:1;color:var(--vbs-muted)}
.vbs-root .vbs-card-title{margin:0 0 6px!important;padding:0;font-size:clamp(17px,1.2vw,21px);font-weight:500;line-height:1.18;letter-spacing:-.025em;color:var(--vbs-text)!important;text-wrap:pretty}
.vbs-root .vbs-details{margin:0!important;font-size:12px;line-height:1.4;color:var(--vbs-muted)}

/* Price sits on top of the button, both flush right. */
.vbs-action{grid-area:action;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;min-width:0}
.vbs-root .vbs-price{margin:0;font-size:24px;font-weight:600;line-height:1;letter-spacing:-.03em;white-space:nowrap;text-align:right;color:var(--vbs-price-text)!important}

.vbs-root .vbs-buy,
.vbs-root .vbs-buy:visited,
.vbs-root .vbs-buy:focus{
 appearance:none;box-sizing:border-box;
 display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
 height:var(--vbs-button-height);min-height:0;min-width:var(--vbs-button-min-width);max-width:100%;margin:0;
 padding:0 var(--vbs-button-x)!important;
 border:1px solid var(--vbs-button-border)!important;border-radius:var(--vbs-button-radius)!important;
 background:var(--vbs-button-bg)!important;color:var(--vbs-button-text)!important;
 font-size:13px;font-weight:500;line-height:1;letter-spacing:0;text-transform:none;white-space:nowrap;text-decoration:none!important;
 box-shadow:none!important;transform:none!important;filter:none!important;opacity:1!important;visibility:visible!important;outline:none;cursor:pointer;
 transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
}
.vbs-root .vbs-buy span{display:inline-block;color:inherit!important;opacity:1!important}
.vbs-root .vbs-buy .vbs-buy-label{display:block;overflow:visible}
.vbs-root .vbs-buy .vbs-buy-arrow{display:block;flex:none;width:1.4em;height:1.4em;margin:-.2em -.2em;fill:currentColor;transition:transform .15s ease}
.vbs-root .vbs-buy .vbs-buy-arrow path{fill:currentColor}
@media(hover:hover){
 .vbs-root .vbs-buy:hover{background:var(--vbs-button-hover-bg)!important;color:var(--vbs-button-hover-text)!important;border-color:var(--vbs-button-hover-border)!important}
 .vbs-root .vbs-buy:hover .vbs-buy-arrow{transform:translateX(3px)}
}
.vbs-root .vbs-buy:active{background:var(--vbs-button-pressed-bg)!important;color:var(--vbs-button-pressed-text)!important;border-color:var(--vbs-button-pressed-border)!important}
.vbs-root .vbs-buy[aria-disabled=true]{cursor:default}

/* Keyboard focus ring — one style for every control */
.vbs-root :is(.vbs-pill,.vbs-circle,.vbs-story,.vbs-buy,.vbs-modal-close):focus-visible{outline:2px solid var(--vbs-text)!important;outline-offset:2px}

/* Narrow catalog column (laptops with a wide hero, tablets, phones):
   [cover] [info]
   [cover] [price ……… button]                                     */
@container vbs (max-width:560px){
 .vbs-cards{display:flex;flex-direction:column;gap:var(--vbs-cards-gap)}
 .vbs-card{grid-template-columns:var(--vbs-cover-width) minmax(0,1fr);grid-template-areas:"cover info" "cover action";align-items:start}
 .vbs-action .vbs-buy{width:auto}
 .vbs-cover-stage{grid-row:1 / span 2;align-self:center}
 .vbs-info{align-self:end}
 .vbs-action{flex-direction:row;align-items:center;justify-content:space-between;align-self:start;gap:12px}
 .vbs-root .vbs-price{font-size:22px;text-align:left}
}
/* Very narrow: button takes the full width under the price */
@container vbs (max-width:380px){
 .vbs-action{flex-direction:column;align-items:stretch;gap:10px}
 .vbs-root .vbs-buy{width:100%;min-width:0}
 .vbs-root .vbs-card-title{font-size:17px}
 .vbs-fake-cover{padding:8px 6px}
 .vbs-fake-cover strong{font-size:11px}
 .vbs-fake-cover span,.vbs-fake-cover small{font-size:5px}
}

/* ---------- Story modal ---------- */
.vbs-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(0,0,0,.88)}
.vbs-modal-panel{position:relative;display:flex;flex-direction:column;align-items:center;width:min(430px,92vw);max-height:92vh}
.vbs-modal-panel video{display:block;width:100%;max-height:85vh;aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:9px}
.vbs-root button.vbs-modal-close,
.vbs-root button.vbs-modal-close:hover,
.vbs-root button.vbs-modal-close:focus{position:absolute;right:-12px;top:-26px;z-index:2;display:grid;place-items:center;width:38px;height:38px;margin:0;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:24px;line-height:1;box-shadow:none!important;cursor:pointer}
.vbs-no-video{display:grid;place-items:center;min-height:300px;color:#fff}

/* ---------- Responsive ---------- */
@media(max-height:750px) and (min-width:781px){
 .vbs-root .vbs-title{font-size:clamp(34px,3.6vw,55px)}
 .vbs-hero-copy{bottom:clamp(32px,5vh,60px)}
}
@media(max-width:1250px) and (min-width:781px){
 .vbs-hero-logo,.vbs-hero-copy{left:clamp(22px,3.5vw,60px);right:clamp(22px,3.5vw,60px)}
}
@media(max-width:780px){
 .vbs-layout{display:flex;flex-direction:column;height:auto;min-height:0}
 .vbs-hero{flex:none;height:min(57svh,520px);min-height:340px}
 .vbs-hero-logo,.vbs-hero-copy{left:clamp(20px,5vw,45px);right:clamp(20px,5vw,45px)}
 .vbs-root .vbs-title{font-size:clamp(32px,6.6vw,56px)}
 .vbs-catalog{height:auto;overflow:visible;padding-bottom:28px}
 .vbs-filters{position:relative;top:auto}
}
@media(max-width:640px){
 .vbs-root{--vbs-story-size:72px;--vbs-pill-x:12px;--vbs-filter-gap:6px;--vbs-catalog-padding:16px}
 .vbs-root button.vbs-pill{font-size:12px}
 /* One straight line of filters that scrolls sideways instead of breaking into a ragged second row */
 .vbs-filter-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--vbs-catalog-padding));padding:2px var(--vbs-catalog-padding)}
 .vbs-filter-row::-webkit-scrollbar{display:none}
 .vbs-more-menu{left:0;right:auto;width:min(250px,calc(100vw - 40px));max-width:calc(100vw - 40px)}
}
@media(max-width:390px){
 .vbs-hero{height:50svh;min-height:320px}
 .vbs-root .vbs-title{font-size:clamp(30px,8vw,36px)}
}
@media(prefers-reduced-motion:reduce){.vbs-root *{transition:none!important;animation:none!important}}

/* ---------- Optical centring of text ----------
   Web fonts often have unequal space above/below the letters (Helvetica Neue LT Pro: caps sit 0.15em above
   the line centre). text-box-trim cuts the line box to exactly cap-height…baseline, so flex/grid centring
   centres the letters themselves — regardless of font or line-height set in Elementor Typography. */
.vbs-root button.vbs-pill,
.vbs-root button.vbs-pill .vbs-pill-label,
.vbs-root .vbs-story-image > span,
.vbs-root .vbs-buy .vbs-buy-label,
.vbs-root .vbs-badge .vbs-badge-label,
.vbs-root .vbs-pages,
.vbs-root .vbs-price{text-box:trim-both cap alphabetic}
.vbs-root .vbs-badge .vbs-badge-label{display:block}
.vbs-root button.vbs-pill{line-height:1!important}
@supports not (text-box:trim-both cap alphabetic){
 .vbs-root button.vbs-pill .vbs-pill-label{position:relative;top:var(--vbs-baseline-shift)}
 .vbs-root .vbs-story-image > span,
 .vbs-root .vbs-buy .vbs-buy-label,
 .vbs-root .vbs-badge .vbs-badge-label,.vbs-root .vbs-pages{position:relative;top:var(--vbs-baseline-shift)}
}
