/* Pladinum Showcase — scoped under .pls */
.pls,.pls *{box-sizing:border-box}
.pls{
  --pls-gap:24px; --pls-peek:90px; --pls-per:1;
  position:relative; width:100%; font-family:Inter,system-ui,sans-serif;
}
.pls-viewport{overflow:hidden; width:100%; touch-action:pan-y; cursor:grab; -webkit-user-select:none; user-select:none}
.pls-viewport:active{cursor:grabbing}
.pls-slide__media{-webkit-user-drag:none; user-select:none}
.pls-track{
  display:flex; gap:var(--pls-gap); width:100%;
  transition:transform .55s cubic-bezier(.4,.0,.2,1);
  will-change:transform;
}

/* slide */
.pls-slide{
  position:relative;
  flex:0 0 calc((100% - (var(--pls-peek) * 2) - ((var(--pls-per) - 1) * var(--pls-gap))) / var(--pls-per));
  height:460px; overflow:hidden;
  border-radius:18px; display:flex;
  opacity:.5; transform:scaleY(var(--pls-side-scale, 1)); transform-origin:center center;
  transition:opacity .45s ease, transform .45s ease;
  box-shadow:0 10px 30px -16px rgba(0,0,0,.3);
}
.pls-slide.is-active{opacity:1; transform:scaleY(1)}
/* image layer */
.pls-slide__media{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center; background-repeat:no-repeat; border-radius:inherit;
}
.pls-slide__overlay{
  position:absolute; inset:0; z-index:1; background:#000; opacity:0; pointer-events:none;
}

/* card */
.pls-card{
  position:relative; z-index:2; width:340px; max-width:calc(100% - 96px);
  margin:0; padding:28px; background:#fafafa; border-radius:18px;
  box-shadow:0 12px 40px -16px rgba(0,0,0,.28);
  cursor:auto; -webkit-user-select:auto; user-select:auto;
}
/* horizontal placement via margins (beats theme/flex defaults reliably) */
.pls--card-left   .pls-card{margin-left:48px !important;  margin-right:auto !important}
.pls--card-center .pls-card{margin-left:auto !important;  margin-right:auto !important}
.pls--card-right  .pls-card{margin-left:auto !important;  margin-right:48px !important}
/* per-slide override (wins over the global setting) */
.pls-slide--align-left   .pls-card{margin-left:48px !important; margin-right:auto !important}
.pls-slide--align-center .pls-card{margin-left:auto !important; margin-right:auto !important}
.pls-slide--align-right  .pls-card{margin-left:auto !important; margin-right:48px !important}

.pls-card__eyebrow{
  margin:0 0 8px; font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#4572da;
}
.pls-card__h{margin:0 0 8px; font-size:22px; font-weight:700; line-height:1.2; color:#232222}
.pls-card__body{margin:0 0 18px; font-size:14px; line-height:1.5; color:#6B6B6B}
.pls-card__btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 16px; background:#111; color:#fff; line-height:1;
  text-decoration:none !important; border:0; border-radius:10px;
  font-size:13px; font-weight:600; cursor:pointer;
  transition:background .25s ease, filter .25s ease, transform .15s ease;
}
.pls .pls-card__btn:hover,
.pls .pls-card__btn:focus,
.pls .pls-card__btn:active{
  text-decoration:none !important; filter:brightness(.88);
}
/* arrow built with ::after so it can slide on hover (matches the main buttons) */
.pls-card__btn::after{
  content:""; display:inline-block; width:7px; height:7px;
  border-top:1.5px solid currentColor; border-right:1.5px solid currentColor;
  transform:rotate(45deg); flex:0 0 auto;
}
.pls-card__btn:hover::after{
  animation:pls-arrow-slide .5s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes pls-arrow-slide{
  0%   {transform:rotate(45deg) translate(0,0);       opacity:1}
  44%  {transform:rotate(45deg) translate(7px,-7px);  opacity:0}
  45%  {transform:rotate(45deg) translate(-7px,7px);  opacity:0}
  100% {transform:rotate(45deg) translate(0,0);       opacity:1}
}

/* arrows — Mollie style: semi-transparent round, over the slides */
.pls .pls-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:6;
  -webkit-appearance:none; appearance:none;
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; min-width:0; padding:0; margin:0;
  background:rgba(0,0,0,.2); color:#232222;
  border:0 !important; border-radius:50% !important; overflow:hidden;
  box-shadow:none; cursor:pointer; pointer-events:auto; line-height:0;
  transition:background .15s ease, transform .15s ease;
}
.pls .pls-arrow:hover{background:rgba(0,0,0,.34)}
.pls .pls-arrow:active{transform:translateY(-50%) scale(.92)}
.pls .pls-arrow svg{width:100%; height:100%; display:block; pointer-events:none}
/* default = inside, tucked just past the peek so they sit over the active slide */
.pls--arrows-inside .pls-arrow--prev{left:calc(var(--pls-peek, 0px) + 16px)}
.pls--arrows-inside .pls-arrow--next{right:calc(var(--pls-peek, 0px) + 16px)}
/* edge style — at the viewport edges */
.pls--arrows-edge .pls-arrow--prev{left:8px}
.pls--arrows-edge .pls-arrow--next{right:8px}

/* dots */
.pls-dots{
  display:flex; justify-content:center; gap:8px; margin-top:18px;
}
.pls-dots button{
  width:8px; height:8px; padding:0; border:0; border-radius:50%;
  background:#d4d4d8; cursor:pointer; transition:background .2s ease, width .2s ease;
}
.pls-dots button.is-active{background:#232222; width:22px; border-radius:5px}

@media (prefers-reduced-motion:reduce){
  .pls-track{transition:none}
}

/* responsive */

/* TABLET + MOBILE — frosted device frame with the card centred over the image */
@media (max-width:1024px){
  .pls-slide{
    overflow:hidden; transform:none !important;
    border-radius:48px !important; box-shadow:none !important;
    background:rgba(255,255,255,.30);
    -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
    justify-content:center !important; align-items:center !important;
  }
  .pls-slide__media{
    position:absolute; inset:8px; width:auto; height:auto;
    border-radius:42px; overflow:hidden;
  }
  /* card is the focus on mobile: centred + mostly opaque so text stays crisp */
  .pls--card-left .pls-card,
  .pls--card-center .pls-card,
  .pls--card-right .pls-card{ margin:0 !important }
  .pls-card{
    display:block !important; position:relative; z-index:2;
    width:auto; max-width:calc(100% - 56px); padding:24px;
    background:rgba(252,252,252,.95) !important;
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    box-shadow:0 20px 50px -18px rgba(0,0,0,.5);
  }
  .pls-card__h{font-size:20px}
  .pls-card__body{font-size:13px; margin-bottom:16px}
  .pls-card__eyebrow{font-size:11px}
}
@media (max-width:768px){
  .pls--arrows-inside .pls-arrow--prev{left:14px}
  .pls--arrows-inside .pls-arrow--next{right:14px}
}
@media (max-width:480px){
  .pls-slide{border-radius:42px !important}
  .pls-slide__media{border-radius:36px}
  .pls-card{max-width:calc(100% - 40px); padding:18px}
  .pls-card__h{font-size:18px}
}
