/* VIP Hero Style 1.0.0 — refined styling for the homepage Slider Revolution hero (alias "main").
   Front-end only. Images, fonts, wording, buttons and links are untouched. */
sr7-module[data-alias="main"]{
  --vh-maroon:#9A2629;
  --vh-ink:12,8,9;
  background-color:#141011;
}
/* 1) No more blank grey box while loading: dark base + first slide image as a poster until the slider has drawn */
sr7-module[data-alias="main"]:not(.vip-ready){
  background:#141011 var(--vip-hero-poster,none) center/cover no-repeat;
}
sr7-module[data-alias="main"] > sr7-module-bg{ background-color:transparent !important; }

/* 2) Readability overlay above the image, below the text */
sr7-module[data-alias="main"] sr7-slide sr7-bg{ overflow:hidden; }
sr7-module[data-alias="main"] sr7-slide sr7-bg::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(var(--vh-ink),.58) 0%, rgba(var(--vh-ink),.34) 42%, rgba(var(--vh-ink),0) 78%),
    linear-gradient(0deg, rgba(var(--vh-ink),.50) 0%, rgba(var(--vh-ink),0) 42%);
}
/* centered-text slides get an even vignette instead of a left fade */
sr7-module[data-alias="main"] sr7-slide.vip-center sr7-bg::after{
  background:
    radial-gradient(ellipse 70% 75% at 50% 52%, rgba(var(--vh-ink),.42) 0%, rgba(var(--vh-ink),.18) 60%, rgba(var(--vh-ink),.05) 100%),
    linear-gradient(0deg, rgba(var(--vh-ink),.50) 0%, rgba(var(--vh-ink),0) 42%);
}

/* 3) Slow "Ken Burns" drift on the image of the slide that is showing */
sr7-module[data-alias="main"] sr7-slide sr7-bg canvas{ transform-origin:50% 50%; will-change:transform; }
sr7-module[data-alias="main"] sr7-slide.vip-kb sr7-bg canvas{ animation:vipHeroKB 9s cubic-bezier(.25,.1,.25,1) both; }
sr7-module[data-alias="main"] sr7-slide.vip-kb.vip-kb-alt sr7-bg canvas{ animation-name:vipHeroKB2; }
@keyframes vipHeroKB { from{transform:scale(1.001)} to{transform:scale(1.075) translate3d(-1%, -0.6%, 0)} }
@keyframes vipHeroKB2{ from{transform:scale(1.075) translate3d(1%, 0.6%, 0)} to{transform:scale(1.001)} }

/* 4) Text: softer, cleaner shadow (the overlay now does the heavy lifting) */
sr7-module[data-alias="main"] sr7-slide > sr7-txt.sr7-layer{
  text-shadow:0 2px 22px rgba(0,0,0,.45), 0 1px 2px rgba(0,0,0,.35) !important;
}
/* small maroon accent line above each heading */
sr7-module[data-alias="main"] sr7-slide > sr7-txt.sr7-layer:first-of-type::before{
  content:""; position:absolute; left:0; top:-22px; width:64px; height:3px; border-radius:2px;
  background:var(--vh-maroon); box-shadow:0 0 0 1px rgba(255,255,255,.08);
  transform-origin:left center;
}
sr7-module[data-alias="main"] sr7-slide > sr7-txt.sr7-layer:first-of-type[style*="text-align: center"]::before{
  left:50%; margin-left:-32px; transform-origin:center;
}
/* staggered fade-up entrance of heading, subtext and button on each slide */
sr7-module[data-alias="main"] sr7-slide.vip-in > sr7-txt.sr7-layer:first-of-type{ animation:vipHeroUp .9s cubic-bezier(.2,.7,.2,1) .15s backwards; }
sr7-module[data-alias="main"] sr7-slide.vip-in > sr7-txt.sr7-layer:first-of-type::before{ animation:vipHeroLine .7s cubic-bezier(.2,.7,.2,1) .55s backwards; }
sr7-module[data-alias="main"] sr7-slide.vip-in > sr7-txt.sr7-layer:nth-of-type(2){ animation:vipHeroUp .9s cubic-bezier(.2,.7,.2,1) .35s backwards; }
sr7-module[data-alias="main"] sr7-slide.vip-in > a.sr7-layer{ animation:vipHeroUp .9s cubic-bezier(.2,.7,.2,1) .55s backwards; }
@keyframes vipHeroUp  { from{opacity:0; translate:0 26px} to{opacity:1; translate:0 0} }
@keyframes vipHeroLine{ from{transform:scaleX(0)} to{transform:scaleX(1)} }

/* small screens: keep left-aligned text off the screen edge */
sr7-module[data-alias="main"] sr7-slide.vip-gutter > sr7-txt.sr7-layer,
sr7-module[data-alias="main"] sr7-slide.vip-gutter > a.sr7-layer{ margin-left:clamp(14px, 3.5vw, 24px) !important; }

/* 5) Button: same colors/text/link; adds depth and a gentle lift on hover */
sr7-module[data-alias="main"] sr7-slide > a.sr7-layer{
  box-shadow:0 14px 30px -12px rgba(154,38,41,.75), inset 0 1px 0 rgba(255,255,255,.14) !important;
  transition:box-shadow .3s ease, translate .3s ease !important;
}
sr7-module[data-alias="main"] sr7-slide > a.sr7-layer:hover,
sr7-module[data-alias="main"] sr7-slide > a.sr7-layer:focus-visible{
  translate:0 -2px !important;
  box-shadow:0 18px 36px -12px rgba(154,38,41,.9), inset 0 1px 0 rgba(255,255,255,.2) !important;
}
sr7-module[data-alias="main"] sr7-slide > a.sr7-layer:focus-visible{ outline:2px solid #fff; outline-offset:3px; }

/* 6) Arrows: thin circular outline, glass fill, maroon on hover (hit box unchanged) */
sr7-module[data-alias="main"] .sr7-arrows.custom::after{
  content:"" !important; font-size:0 !important; line-height:0 !important;
  top:26px !important; width:48px !important; height:48px !important; border-radius:50%;
  background:rgba(var(--vh-ink),.28) !important;
  border:1.5px solid rgba(255,255,255,.75); box-sizing:border-box;
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  transition:background .25s ease, border-color .25s ease, transform .25s ease !important;
}
sr7-module[data-alias="main"] .sr7-arrows.custom.sr7-leftarrow::after{ left:28px !important; }
sr7-module[data-alias="main"] .sr7-arrows.custom.sr7-rightarrow::after{ left:auto !important; right:28px !important; }
sr7-module[data-alias="main"] .sr7-arrows.custom:hover::after{
  background:var(--vh-maroon) !important; border-color:var(--vh-maroon); transform:scale(1.06);
}
sr7-module[data-alias="main"] .sr7-arrows.custom::before{
  content:"" !important; display:block !important; position:absolute; z-index:3; pointer-events:none;
  top:45px; width:10px; height:10px; border:solid #fff; border-width:0 0 2px 2px; box-sizing:border-box;
}
sr7-module[data-alias="main"] .sr7-arrows.custom.sr7-leftarrow::before{ left:49px; transform:rotate(45deg); }
sr7-module[data-alias="main"] .sr7-arrows.custom.sr7-rightarrow::before{ left:auto; right:49px; transform:rotate(-135deg); }

/* 7) Pagination: slim lines; the active one fills with maroon as the slide plays */
sr7-module[data-alias="main"] sr7-bullets.sr7-bullets.custom{
  width:auto !important; height:20px !important; display:flex !important; gap:10px; align-items:center;
  left:50% !important; bottom:20px !important; top:auto !important; transform:translateX(-50%) !important;
}
sr7-module[data-alias="main"] sr7-bullets.sr7-bullets.custom::before{ display:none; }
sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet{
  position:relative !important; left:auto !important; top:auto !important; margin:0 !important;
  width:34px !important; height:3px !important; border-radius:3px !important; overflow:hidden;
  background:rgba(255,255,255,.38) !important; transition:width .4s ease, background-color .25s ease !important;
}
sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet::after{ /* bigger tap target */
  content:""; position:absolute; left:-5px; right:-5px; top:-9px; bottom:-9px;
}
sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet:hover{ background:rgba(255,255,255,.7) !important; }
sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet.selected{
  width:58px !important; background:rgba(255,255,255,.38) !important;
  background-image:linear-gradient(var(--vh-maroon),var(--vh-maroon)) !important;
  background-repeat:no-repeat !important; background-size:var(--vip-prog,100%) 100% !important;
}
sr7-module[data-alias="main"].vip-prog-off .sr7-bullets.custom .sr7-bullet.selected{ background-size:100% 100% !important; }

/* Phones: swipe is enabled, so hide arrows; slimmer pagination (the slider itself only shows nav after a tap on touch devices) */
@media (max-width:767px){
  sr7-module[data-alias="main"] .sr7-arrows.custom{ display:none !important; }
  sr7-module[data-alias="main"] sr7-bullets.sr7-bullets.custom{ bottom:8px !important; gap:7px; }
  sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet{ width:18px !important; height:2px !important; }
  sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet.selected{ width:32px !important; }
  sr7-module[data-alias="main"] sr7-slide > sr7-txt.sr7-layer:first-of-type::before{ top:-9px; width:34px; height:2px; }
  sr7-module[data-alias="main"] sr7-slide > sr7-txt.sr7-layer:first-of-type[style*="text-align: center"]::before{ margin-left:-17px; }
  sr7-module[data-alias="main"] sr7-slide > sr7-txt.sr7-layer{ text-shadow:0 1px 10px rgba(0,0,0,.5) !important; }
  sr7-module[data-alias="main"] sr7-slide > a.sr7-layer{ box-shadow:0 8px 18px -8px rgba(154,38,41,.75) !important; }
}

@media (prefers-reduced-motion:reduce){
  sr7-module[data-alias="main"] sr7-slide.vip-kb sr7-bg canvas,
  sr7-module[data-alias="main"] sr7-slide.vip-in > *,
  sr7-module[data-alias="main"] sr7-slide.vip-in > *::before{ animation:none !important; }
  sr7-module[data-alias="main"] .sr7-bullets.custom .sr7-bullet.selected{ background-size:100% 100% !important; }
}
