/* Veloura — Native Video Gallery
   Scoped to .ss4-vwp-gallery so this page cannot damage the host template. */
.ss4-vwp-gallery,
.ss4-vwp-gallery *{box-sizing:border-box}

.ss4-vwp-gallery{
  --vg-accent:var(--accent,#B31245);
  --vg-black:#0a0a0a;
  --vg-ink:#171717;
  --vg-muted:#727272;
  --vg-line:#dedede;
  --vg-soft:#f5f3f2;
  --vg-white:#fff;
  width:100%;
  max-width:none;
  margin:0;
  overflow:hidden;
  background:var(--vg-white);
  color:var(--vg-ink);
}

/* HERO */
.ss4-vwp-gallery .vg-hero{
  position:relative;
  min-height:510px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:var(--vg-black);
  color:var(--vg-white);
  border:0;
}
.ss4-vwp-gallery .vg-hero-bg{
  position:absolute;
  inset:0;
  z-index:-3;
  background:#111;
}
.ss4-vwp-gallery .vg-hero-bg img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 35%;
  filter:none;
  transform:scale(1.001);
}
.ss4-vwp-gallery .vg-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.70) 34%,rgba(0,0,0,.32) 67%,rgba(0,0,0,.12) 100%),
    linear-gradient(0deg,rgba(0,0,0,.72) 0%,transparent 56%);
}
.ss4-vwp-gallery .vg-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:var(--vg-accent);
}
.ss4-vwp-gallery .vg-hero-inner{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 88px));
  margin:0 auto;
  padding:165px 0 58px;
}
.ss4-vwp-gallery .vg-breadcrumb{
  margin:0 0 17px;
  color:rgba(255,255,255,.76);
  font-size:10px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.ss4-vwp-gallery .vg-breadcrumb strong{color:var(--vg-accent)}
.ss4-vwp-gallery .vg-hero h1{
  max-width:780px;
  margin:0 0 18px;
  color:#fff;
  font:400 clamp(48px,6vw,78px)/.96 Georgia,serif;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.ss4-vwp-gallery .vg-hero p{
  max-width:610px;
  margin:0 0 28px;
  color:rgba(255,255,255,.88);
  font-size:15px;
  line-height:1.7;
}
.ss4-vwp-gallery .vg-hero a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 20px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(0,0,0,.18);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.ss4-vwp-gallery .vg-hero a:hover,
.ss4-vwp-gallery .vg-hero a:focus-visible{
  background:var(--vg-accent);
  border-color:var(--vg-accent);
  color:#fff;
}

/* CATEGORY / SORT BAR */
.ss4-vwp-gallery .vg-toolbar{
  position:relative;
  top:auto;
  z-index:8;
  margin:0;
  border:0;
  border-bottom:1px solid var(--vg-line);
  background:#fff;
  box-shadow:none;
}
.ss4-vwp-gallery .vg-toolbar-inner{
  width:min(1180px,calc(100% - 88px));
  margin:0 auto;
  padding:18px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.ss4-vwp-gallery .vg-categories{
  min-width:0;
  display:flex;
  align-items:center;
  gap:3px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.ss4-vwp-gallery .vg-categories::-webkit-scrollbar{display:none}
.ss4-vwp-gallery .vg-categories a{
  flex:0 0 auto;
  position:relative;
  padding:9px 12px 10px;
  border:0;
  background:transparent;
  color:#4b4b4b;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .18s ease;
}
.ss4-vwp-gallery .vg-categories a:after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:2px;
  height:2px;
  background:var(--vg-accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.ss4-vwp-gallery .vg-categories a:hover,
.ss4-vwp-gallery .vg-categories a.active{color:var(--vg-accent)}
.ss4-vwp-gallery .vg-categories a:hover:after,
.ss4-vwp-gallery .vg-categories a.active:after{transform:scaleX(1)}
.ss4-vwp-gallery .vg-sort{flex:0 0 auto;margin:0}
.ss4-vwp-gallery .vg-sort select{
  min-width:150px;
  height:40px;
  margin:0;
  padding:0 34px 0 12px;
  border:1px solid #cfcfcf;
  border-radius:0;
  outline:0;
  background:#fff;
  color:#222;
  font-size:11px;
  line-height:1;
  cursor:pointer;
}
.ss4-vwp-gallery .vg-sort select:focus{border-color:var(--vg-accent)}

/* VIDEO GRID */
.ss4-vwp-gallery .vg-shell{
  width:100%;
  margin:0;
  padding:52px 0 78px;
  background:#fff;
  color:var(--vg-ink);
}
.ss4-vwp-gallery .vg-grid{
  width:min(1180px,calc(100% - 88px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px 22px;
}
.ss4-vwp-gallery .vg-card{
  min-width:0;
  display:block;
  overflow:hidden;
  border:1px solid #e2e2e2;
  background:#fff;
  color:var(--vg-ink);
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.035);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.ss4-vwp-gallery .vg-card:hover,
.ss4-vwp-gallery .vg-card:focus-visible{
  transform:translateY(-4px);
  border-color:#c9c9c9;
  box-shadow:0 18px 38px rgba(0,0,0,.09);
}
.ss4-vwp-gallery .vg-thumb{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#111;
}
.ss4-vwp-gallery .vg-thumb:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.18),transparent 55%);
  pointer-events:none;
}
.ss4-vwp-gallery .vg-thumb img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease,filter .35s ease;
}
.ss4-vwp-gallery .vg-card:hover .vg-thumb img{transform:scale(1.025)}
.ss4-vwp-gallery .vg-play{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:52px;
  height:52px;
  padding:1px 0 0 3px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:rgba(0,0,0,.54);
  color:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:0 5px 20px rgba(0,0,0,.22);
  transition:background .2s ease,transform .2s ease;
}
.ss4-vwp-gallery .vg-card:hover .vg-play{
  background:var(--vg-accent);
  transform:translate(-50%,-50%) scale(1.06);
}
.ss4-vwp-gallery .vg-card-copy{
  position:relative;
  min-height:96px;
  padding:18px 18px 19px;
  border-top:3px solid transparent;
  transition:border-color .2s ease;
}
.ss4-vwp-gallery .vg-card:hover .vg-card-copy{border-top-color:var(--vg-accent)}
.ss4-vwp-gallery .vg-card-copy h2{
  margin:0 0 7px;
  overflow-wrap:anywhere;
  color:#161616;
  font:400 19px/1.25 Georgia,serif;
  letter-spacing:-.01em;
}
.ss4-vwp-gallery .vg-card-copy p{
  margin:0;
  color:#777;
  font-size:9px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ss4-vwp-gallery .vg-empty{
  width:min(1180px,calc(100% - 88px));
  margin:0 auto;
  padding:72px 0;
  text-align:center;
  color:var(--vg-ink);
}
.ss4-vwp-gallery .vg-empty h2{
  margin:0 0 10px;
  color:#111;
  font:400 32px/1.1 Georgia,serif;
}
.ss4-vwp-gallery .vg-empty p{margin:0;color:#777}

/* CTA */
.ss4-vwp-gallery .vg-cta{
  width:min(1180px,calc(100% - 88px));
  margin:56px auto 0;
  padding:32px 34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  border:1px solid #222;
  border-left:4px solid var(--vg-accent);
  background:#0d0d0d;
  color:#fff;
}
.ss4-vwp-gallery .vg-cta span{
  display:block;
  margin:0 0 8px;
  color:var(--vg-accent);
  font-size:9px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.ss4-vwp-gallery .vg-cta h2{
  margin:0 0 7px;
  color:#fff;
  font:400 30px/1.08 Georgia,serif;
}
.ss4-vwp-gallery .vg-cta p{max-width:650px;margin:0;color:#c4c4c4;line-height:1.6}
.ss4-vwp-gallery .vg-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 18px;
  border:1px solid var(--vg-accent);
  background:var(--vg-accent);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease;
}
.ss4-vwp-gallery .vg-cta a:hover,
.ss4-vwp-gallery .vg-cta a:focus-visible{background:#fff;color:#111;border-color:#fff}

/* RESPONSIVE */
@media(max-width:1050px){
  .ss4-vwp-gallery .vg-hero-inner,
  .ss4-vwp-gallery .vg-toolbar-inner,
  .ss4-vwp-gallery .vg-grid,
  .ss4-vwp-gallery .vg-empty,
  .ss4-vwp-gallery .vg-cta{width:calc(100% - 56px)}
  .ss4-vwp-gallery .vg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .ss4-vwp-gallery .vg-hero{min-height:430px}
  .ss4-vwp-gallery .vg-hero-inner{padding:138px 0 42px}
  .ss4-vwp-gallery .vg-hero-overlay{
    background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.50) 68%,rgba(0,0,0,.3) 100%);
  }
  .ss4-vwp-gallery .vg-toolbar-inner{align-items:stretch;flex-direction:column;gap:10px;padding:12px 0}
  .ss4-vwp-gallery .vg-categories{width:100%}
  .ss4-vwp-gallery .vg-sort{width:100%}
  .ss4-vwp-gallery .vg-sort select{width:100%}
  .ss4-vwp-gallery .vg-shell{padding-top:34px}
  .ss4-vwp-gallery .vg-cta{grid-template-columns:1fr;padding:27px 25px}
  .ss4-vwp-gallery .vg-cta a{justify-self:start}
}

@media(max-width:560px){
  .ss4-vwp-gallery .vg-hero{min-height:390px}
  .ss4-vwp-gallery .vg-hero-inner,
  .ss4-vwp-gallery .vg-toolbar-inner,
  .ss4-vwp-gallery .vg-grid,
  .ss4-vwp-gallery .vg-empty,
  .ss4-vwp-gallery .vg-cta{width:calc(100% - 36px)}
  .ss4-vwp-gallery .vg-hero-inner{padding:124px 0 34px}
  .ss4-vwp-gallery .vg-hero h1{font-size:43px}
  .ss4-vwp-gallery .vg-hero p{font-size:14px;line-height:1.6}
  .ss4-vwp-gallery .vg-grid{grid-template-columns:1fr;gap:26px}
  .ss4-vwp-gallery .vg-card-copy{min-height:0}
  .ss4-vwp-gallery .vg-cta{margin-top:38px}
  .ss4-vwp-gallery .vg-cta h2{font-size:26px}
}


/* v5.2.5 — viewport-fit normalization
   Keep the native Veloura design while preventing oversized sections/cards
   and horizontal overflow on desktop, tablet, and mobile. */
.ss4-vwp-gallery{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.ss4-vwp-gallery .vg-hero{
  width:100%;
  max-width:100%;
  min-height:clamp(340px,42vw,500px);
}
.ss4-vwp-gallery .vg-hero-inner,
.ss4-vwp-gallery .vg-toolbar-inner,
.ss4-vwp-gallery .vg-grid,
.ss4-vwp-gallery .vg-empty,
.ss4-vwp-gallery .vg-cta{
  width:min(1180px,calc(100% - 40px));
  max-width:100%;
}
.ss4-vwp-gallery .vg-hero-inner{
  padding:clamp(96px,10vw,145px) 0 clamp(34px,5vw,56px);
}
.ss4-vwp-gallery .vg-hero h1{
  font-size:clamp(38px,5vw,68px);
  max-width:min(760px,100%);
}
.ss4-vwp-gallery .vg-hero p{max-width:min(620px,100%)}
.ss4-vwp-gallery .vg-toolbar-inner,
.ss4-vwp-gallery .vg-grid,
.ss4-vwp-gallery .vg-card,
.ss4-vwp-gallery .vg-card-copy,
.ss4-vwp-gallery .vg-cta{min-width:0}
.ss4-vwp-gallery .vg-categories{max-width:100%}
.ss4-vwp-gallery .vg-sort select{max-width:100%}
.ss4-vwp-gallery .vg-shell{
  width:100%;
  max-width:100%;
  padding:clamp(32px,4vw,52px) 0 clamp(48px,6vw,78px);
}
.ss4-vwp-gallery .vg-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2.2vw,34px) clamp(14px,1.8vw,22px);
}
.ss4-vwp-gallery .vg-thumb{aspect-ratio:16/9}
.ss4-vwp-gallery .vg-thumb img{max-width:100%}
.ss4-vwp-gallery .vg-card-copy{
  min-height:auto;
  padding:clamp(14px,1.6vw,18px);
}
.ss4-vwp-gallery .vg-cta{
  margin-top:clamp(34px,4vw,56px);
  padding:clamp(24px,3vw,32px);
}
@media (max-width:1100px){
  .ss4-vwp-gallery .vg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .ss4-vwp-gallery .vg-hero{min-height:360px}
  .ss4-vwp-gallery .vg-hero-inner,
  .ss4-vwp-gallery .vg-toolbar-inner,
  .ss4-vwp-gallery .vg-grid,
  .ss4-vwp-gallery .vg-empty,
  .ss4-vwp-gallery .vg-cta{width:calc(100% - 28px)}
  .ss4-vwp-gallery .vg-hero-inner{padding:92px 0 34px}
  .ss4-vwp-gallery .vg-toolbar-inner{gap:8px}
  .ss4-vwp-gallery .vg-grid{grid-template-columns:1fr}
  .ss4-vwp-gallery .vg-cta{grid-template-columns:1fr}
}
@media (max-width:420px){
  .ss4-vwp-gallery .vg-hero{min-height:330px}
  .ss4-vwp-gallery .vg-hero h1{font-size:36px}
  .ss4-vwp-gallery .vg-play{width:46px;height:46px}
}

/* v5.2.6 — verified gallery screen-fit repair
   The previous build linked this stylesheet through an incorrect native URL.
   These rules reproduce the intended compact Veloura/Maison gallery proportions. */
.ss4-vwp-gallery{overflow-x:hidden;background:#050505;color:#fff}
.ss4-vwp-gallery .vg-hero{
  height:clamp(300px,22vw,350px);
  min-height:300px;
  max-height:350px;
  align-items:center;
}
.ss4-vwp-gallery .vg-hero-bg img{object-position:center 38%}
.ss4-vwp-gallery .vg-hero-overlay{
  background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 34%,rgba(0,0,0,.45) 62%,rgba(0,0,0,.24) 100%);
}
.ss4-vwp-gallery .vg-hero-inner{
  width:min(1120px,calc(100% - 64px));
  padding:34px 0 30px;
}
.ss4-vwp-gallery .vg-breadcrumb{margin-bottom:12px}
.ss4-vwp-gallery .vg-hero h1{
  max-width:680px;
  margin:0 0 12px;
  font-size:clamp(42px,4.2vw,62px);
  line-height:.98;
}
.ss4-vwp-gallery .vg-hero p{max-width:590px;margin:0 0 19px;font-size:14px;line-height:1.55}
.ss4-vwp-gallery .vg-hero a{min-height:42px;padding:11px 18px;background:var(--vg-accent);border-color:var(--vg-accent)}
.ss4-vwp-gallery .vg-toolbar{background:#fff;color:#111}
.ss4-vwp-gallery .vg-toolbar-inner{width:min(1120px,calc(100% - 64px));padding:12px 0}
.ss4-vwp-gallery .vg-shell{padding:26px 0 58px;background:#050505;color:#fff}
.ss4-vwp-gallery .vg-grid{
  width:min(1120px,calc(100% - 64px));
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px 14px;
}
.ss4-vwp-gallery .vg-card{border:1px solid #262626;background:#0b0b0b;color:#fff;box-shadow:none}
.ss4-vwp-gallery .vg-card:hover,.ss4-vwp-gallery .vg-card:focus-visible{border-color:var(--vg-accent);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.ss4-vwp-gallery .vg-card-copy{padding:12px 12px 14px;background:#0b0b0b}
.ss4-vwp-gallery .vg-card-copy h2{color:#fff;font-size:15px;margin:0 0 5px}
.ss4-vwp-gallery .vg-card-copy p{color:#aaa;font-size:10px;margin:0;text-transform:uppercase;letter-spacing:.08em}
.ss4-vwp-gallery .vg-thumb{aspect-ratio:16/9}
.ss4-vwp-gallery .vg-play{width:54px;height:54px;font-size:20px}
.ss4-vwp-gallery .vg-cta{width:min(1120px,calc(100% - 64px));margin:34px auto 0;border-color:#2b2b2b;background:#0b0b0b;color:#fff}
.ss4-vwp-gallery .vg-cta h2{color:#fff}
.ss4-vwp-gallery .vg-cta p{color:#aaa}
@media(max-width:1050px){
  .ss4-vwp-gallery .vg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .ss4-vwp-gallery .vg-hero{height:300px;min-height:300px;max-height:300px}
  .ss4-vwp-gallery .vg-hero-inner,.ss4-vwp-gallery .vg-toolbar-inner,.ss4-vwp-gallery .vg-grid,.ss4-vwp-gallery .vg-cta{width:min(100% - 36px,1120px)}
  .ss4-vwp-gallery .vg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ss4-vwp-gallery .vg-toolbar-inner{align-items:stretch;flex-direction:column;gap:8px}
  .ss4-vwp-gallery .vg-sort select{width:100%}
}
@media(max-width:520px){
  .ss4-vwp-gallery .vg-hero{height:280px;min-height:280px;max-height:280px}
  .ss4-vwp-gallery .vg-hero-inner{padding:24px 0 22px}
  .ss4-vwp-gallery .vg-hero h1{font-size:40px}
  .ss4-vwp-gallery .vg-hero p{font-size:13px}
  .ss4-vwp-gallery .vg-grid{grid-template-columns:1fr}
}
