/* ===== Fancybox base ===== */
.fancybox__slide{position:relative;opacity:0;}
.fancybox__caption{
  display:none;font-family:"Roboto",open sans,Helvetica,Arial,sans-serif;
  font-size:18px;font-weight:bold;color:#fff;position:absolute;top:-48px;left:0;
}
.fancybox__content{width:100%;height:100%;aspect-ratio:16/9!important;padding:0;}
.fancybox__content.mobile{position:absolute;bottom:0;height:calc(100dvh - 30px)!important;}
.fb-controls{position:absolute;right:-38px;top:0;}
.fancybox__content.mobile .fb-controls{position:relative;top:-32px;right:4px;}
#mobile-fb-close-button{display:none;width:auto;font-size:18px;}
.fancybox__content iframe{
  aspect-ratio:16/9!important;display:inline;position:absolute;top:0;left:0;
}
.f-button.is-close-btn{
  position:absolute;top:0!important;right:-1px!important;
  --f-button-width:34px;--f-button-height:34px;--f-button-border-radius:4px;
  --f-button-color:var(--fancybox-color,#fff);--f-button-hover-color:var(--fancybox-color,#fff);
  --f-button-bg:transparent;--f-button-hover-bg:transparent;--f-button-active-bg:transparent;
  --f-button-svg-width:22px;--f-button-svg-height:22px;opacity:.75;color:#fff;
}
.f-button.fullscreen-demo{
  position:absolute;top:32px;right:0;
  --f-button-width:34px;--f-button-height:34px;--f-button-border-radius:4px;
  --f-button-color:var(--fancybox-color,#fff);--f-button-hover-color:var(--fancybox-color,#fff);
  --f-button-bg:transparent;--f-button-hover-bg:transparent;--f-button-active-bg:transparent;
  --f-button-svg-width:22px;--f-button-svg-height:22px;opacity:.75;color:#fff;
}

/* ===== Mobile tweaks ===== */
@media only screen and (max-width:780px){
  .fb-controls{position:absolute;right:36px;top:-36px;}
  .f-button.fullscreen-demo{top:0!important;right:-32px;}
  .f-button.is-close-btn{position:absolute;top:0!important;right:-1px!important;}
  .fancybox__content.mobile .f-button.is-close-btn{top:-32px!important;right:-25px!important;}
  .fancybox__content{width:100vw!important;left:0;right:0;padding:0;margin:0;}
  .iframe-bwb__content{display:flex;justify-content:center;align-items:center;padding:0;margin:0;}
  .fancybox__content iframe{width:100vw!important;height:100%;left:0;right:0;}
}

/* ===== Container to scope all plugin styles ===== */
.bwb-demo{isolation:isolate;}

/* ===== Game demo / no-demo block ===== */
.iframe-bwb{
  position:relative;overflow:hidden;border-radius:10px;background-color:#171515ff;
  -webkit-transform:translateZ(0);transform:translateZ(0);
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.iframe-bwb__bg-image{
  position:relative;overflow:hidden;
  height:var(--iframe-h,500px);
  background-position:center;background-repeat:no-repeat;background-size:cover;
  filter:brightness(50%) blur(6px);
}
.iframe-bwb__bg-image::before{
  content:"";position:absolute;inset:-1px;background:inherit;
  background-size:inherit;background-position:inherit;background-repeat:inherit;pointer-events:none;
}
.iframe-bwb__content{
  position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.iframe-bwb__button{
  position:absolute;top:50%;left:50%;z-index:200;transform:translate(-50%,-50%);
  font-size:1.5em;color:#fff;background-color:#4fb95e;line-height:48px;border-radius:6px;
  width:10em;border:0;margin:0;box-shadow:none;cursor:pointer;white-space:nowrap;text-align:center;max-width:99%;
  pointer-events:auto;
}
.iframe-bwb__button:hover{text-decoration:underline;background-color:#999;}
.iframe-bwb--nodemo .iframe-bwb__button.is-disabled{
  background-color:#ccc;color:#323232;cursor:not-allowed;pointer-events:none;border:none;
}
.iframe-bwb--nodemo .iframe-bwb__button.is-disabled:hover{filter:none;}

/* ===== CTA row under the block ===== */
.iframe-bwb__cta{display:flex;justify-content:flex-end;margin-top:4px;}

/* ===== NEW, theme-agnostic CTA button =====
   Single class: .bwb-cta
   Explicitly define all states to beat theme link rules. */
.bwb-demo .bwb-cta,
.bwb-demo .bwb-cta:link,
.bwb-demo .bwb-cta:visited{
  display:inline-flex;
  align-items:center;
  gap:6px;

  background:#f04737;
  color:#fff;

  /* thinner */
  padding:2px 10px;
  line-height:1.5;

  border-radius:4px;
  border:0;
  box-shadow:none;

  font-weight:700;
  text-decoration:none;
  cursor:pointer;

  text-transform:none;
  letter-spacing:normal;
}

.bwb-demo .bwb-cta:hover,
.bwb-demo .bwb-cta:active{
  /* keep strong contrast while text stays white */
  background:#b8b8b8;
  color:#fff;
  text-decoration:none;
}

.bwb-demo .bwb-cta:focus-visible{
  outline:2px solid #e0e0e0;
  outline-offset:2px;
}
