
/* ==================================================
   BACCARAT ARTICLE DEMO CATALOGUE
   ================================================== */

.baccarat-demo-section{
  width:min(1120px,calc(100vw - 32px));
  margin:2.25rem 0 3rem;
  margin-left:50%;
  transform:translateX(-50%);

  padding:1.7rem;

  border:1px solid rgba(181,68,255,.48);
  border-radius:18px;

  background:
    radial-gradient(
      circle at 10% 0%,
      rgba(124,38,190,.20),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(25,8,42,.98),
      rgba(12,4,22,.98)
    );

  box-shadow:
    0 18px 45px rgba(0,0,0,.35);
}


/* HEADER */

.baccarat-demo-header{
  margin-bottom:1.35rem;
}

.baccarat-demo-heading-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.baccarat-demo-eyebrow{
  display:inline-block;

  margin-bottom:.45rem;

  color:#ffca38;

  font-size:.72rem;
  font-weight:900;

  letter-spacing:.12em;
}

.baccarat-demo-heading{
  margin:0 0 .8rem;

  color:#fff;

  font-family:'Cinzel',serif;
  font-size:clamp(1.55rem,2.4vw,2.15rem);

  line-height:1.15;
}

.baccarat-demo-api-badge{
  flex:0 0 auto;

  padding:.35rem .7rem;

  border:1px solid rgba(51,255,174,.45);
  border-radius:999px;

  color:#5affbe;
  background:rgba(0,167,104,.12);

  font-size:.7rem;
  font-weight:900;

  letter-spacing:.08em;
}

.baccarat-demo-description{
  max-width:820px;

  margin:.15rem 0 .5rem;

  color:#eee6f4;

  line-height:1.7;
}

.baccarat-demo-note{
  max-width:850px;

  margin:0;

  color:#aca1b7;

  font-size:.9rem;
  line-height:1.6;
}


/* ==================================================
   TOOLBAR
   ================================================== */

.baccarat-demo-toolbar{
  display:grid;

  grid-template-columns:
    minmax(220px,.7fr)
    minmax(320px,1.7fr);

  gap:1rem;

  margin:1.5rem 0 1rem;
  padding:1rem;

  border:1px solid rgba(177,58,255,.55);
  border-radius:15px;

  background:rgba(38,12,57,.64);
}

.baccarat-demo-filter,
.baccarat-demo-search{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}

.baccarat-demo-toolbar label{
  color:#fff;

  font-size:.72rem;
  font-weight:900;

  letter-spacing:.04em;
}

#baccarat-provider-filter,
#baccarat-demo-search{
  width:100%;
  height:48px;

  padding:0 .95rem;

  border:1px solid rgba(236,49,176,.64);
  border-radius:11px;

  outline:none;

  color:#fff;
  background:#16071e;

  font:inherit;
}

#baccarat-provider-filter:focus,
#baccarat-demo-search:focus{
  border-color:#b845ff;

  box-shadow:
    0 0 0 3px rgba(184,69,255,.14);
}

#baccarat-demo-search::placeholder{
  color:#887c90;
}


/* STATUS */

.baccarat-demo-status{
  margin:.7rem 0 1rem;

  color:#ddd1e5;

  font-size:.92rem;
}


/* ==================================================
   GRID
   ================================================== */

.baccarat-demo-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:1.1rem;
}


/* CARD */

.baccarat-demo-card{
  display:flex;
  flex-direction:column;

  min-width:0;

  overflow:hidden;

  border:1px solid rgba(153,65,231,.52);
  border-radius:15px;

  background:
    linear-gradient(
      180deg,
      #220a31 0%,
      #100716 100%
    );

  box-shadow:
    0 10px 25px rgba(0,0,0,.26);

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.baccarat-demo-card:hover{
  transform:translateY(-4px);

  border-color:#cc49ff;

  box-shadow:
    0 16px 34px rgba(0,0,0,.42);
}


/* IMAGE */

.baccarat-demo-image-wrap{
  position:relative;

  width:100%;
  aspect-ratio:16/9;

  overflow:hidden;

  background:#09040d;
}

.baccarat-demo-image{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .35s ease;
}

.baccarat-demo-card:hover
.baccarat-demo-image{
  transform:scale(1.035);
}


/* BODY */

.baccarat-demo-body{
  display:flex;
  flex-direction:column;

  flex:1;

  padding:1rem;
}

.baccarat-demo-provider{
  order:-2;

  margin:0 0 .35rem;

  color:#ffcb37;

  font-size:.69rem;
  font-weight:900;

  text-transform:uppercase;

  letter-spacing:.045em;
}

.baccarat-demo-title{
  order:-1;

  min-height:2.8rem;

  margin:0 0 .55rem;

  color:#fff;

  font-family:'Cinzel',serif;

  font-size:1rem;
  font-weight:800;

  line-height:1.35;
}

.baccarat-demo-type{
  margin:0 0 .9rem;

  color:#c7b8d0;

  font-size:.82rem;
}


/* ==================================================
   BUTTONS
   ================================================== */

.baccarat-demo-actions{
  display:grid;

  gap:.55rem;

  margin-top:auto;
}

.baccarat-demo-play,
.baccarat-demo-guide{
  display:flex;

  align-items:center;
  justify-content:center;

  width:100%;
  min-height:42px;

  padding:.7rem .8rem;

  border-radius:9px;

  font-size:.82rem;
  font-weight:900;

  text-align:center;
  text-decoration:none;

  cursor:pointer;

  transition:
    transform .18s ease,
    filter .18s ease;
}


/* FREE DEMO — purple/pink like reference */

.baccarat-demo-play{
  border:0;

  color:#fff;

  background:
    linear-gradient(
      100deg,
      #963cff,
      #ff2aad
    );

  box-shadow:
    0 5px 16px rgba(211,42,201,.2);
}


/* SECONDARY — green like reference */

.baccarat-demo-guide{
  border:1px solid #25c68d;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      #07835e,
      #0ca16e
    );
}

.baccarat-demo-play:hover,
.baccarat-demo-guide:hover{
  transform:translateY(-1px);

  filter:brightness(1.08);
}


/* ==================================================
   MODAL
   ================================================== */

.baccarat-demo-overlay[hidden]{
  display:none!important;
}

.baccarat-demo-overlay{
  position:fixed;
  inset:0;

  z-index:999999;

  display:flex;

  align-items:center;
  justify-content:center;

  padding:1rem;

  background:
    rgba(0,0,0,.93);

  backdrop-filter:blur(5px);
}

.baccarat-demo-player{
  width:min(1180px,100%);

  overflow:hidden;

  border:1px solid rgba(190,65,255,.45);
  border-radius:15px;

  background:#050307;

  box-shadow:
    0 25px 80px rgba(0,0,0,.7);
}

.baccarat-demo-player-head{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:1rem;

  padding:.85rem 1rem;

  border-bottom:
    1px solid rgba(255,255,255,.08);
}

.baccarat-demo-player-head h3{
  margin:0;

  color:#fff;

  font-size:1rem;
}

.baccarat-demo-close{
  border:0;

  color:#fff;
  background:transparent;

  font-size:2rem;
  line-height:1;

  cursor:pointer;
}

#baccarat-demo-stage{
  width:100%;

  background:#000;
}

#baccarat-demo-stage iframe{
  display:block;

  width:100%;
  height:78vh;

  min-height:620px;

  border:0;

  background:#000;
}

.baccarat-demo-footer{
  padding:.75rem 1rem;

  color:#948b9a;

  font-size:.77rem;
}


/* ==================================================
   TABLET
   ================================================== */

@media(max-width:900px){

  .baccarat-demo-section{
    width:calc(100vw - 24px);

    padding:1.2rem;
  }

  .baccarat-demo-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .baccarat-demo-toolbar{
    grid-template-columns:1fr 1fr;
  }

}


/* ==================================================
   MOBILE
   ================================================== */

@media(max-width:600px){

  .baccarat-demo-section{
    width:calc(100vw - 18px);

    margin-top:1.5rem;
    margin-bottom:2rem;

    padding:1rem;
  }

  .baccarat-demo-heading-row{
    display:block;
  }

  .baccarat-demo-api-badge{
    display:inline-block;

    margin:.25rem 0 .5rem;
  }

  .baccarat-demo-toolbar{
    grid-template-columns:1fr;

    padding:.85rem;
  }

  .baccarat-demo-grid{
    grid-template-columns:1fr;
  }

  .baccarat-demo-title{
    min-height:auto;
  }

  #baccarat-demo-stage iframe{
    height:75vh;
    min-height:580px;
  }

}

