/* =========================================================================
   LAB (/lab/). Night Edition tokens (night-edition.css) plus one accent:
   acid yellow, the colour of the LAB tab and the ACID samples cover.
   Each item is a card: cover (or a type tile) with a preview player, then the
   facts and the email form that sends the personal download link.
   ========================================================================= */

:root{--gp-lab-acid:#f2df1d;--gp-lab-acid-ink:#0b0b0b;}

:root body .gp-lab{padding-bottom:var(--ne-section);}

/* Status after the form or a download link */
:root body .gp-lab__notice--card{grid-column:1/-1;margin:0 0 4px;}
:root body .gp-lab__ready{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:0 0 28px;}
:root body .gp-lab__ready .gp-lab__notice{margin:0;flex:1 1 320px;}
:root body .gp-lab__notice{
  margin:clamp(28px,3vw,44px) 0 0;padding:16px 20px;border-left:3px solid var(--gp-lab-acid);
  background:var(--ne-surface);font-size:var(--ne-fs-body);color:var(--ne-text);
}
:root body .gp-lab__notice--invalid,
:root body .gp-lab__notice--error,
:root body .gp-lab__notice--limit,
:root body .gp-lab__notice--inbox,
:root body .gp-lab__notice--busy,
:root body .gp-lab__notice--expired,
:root body .gp-lab__notice--used{border-left-color:var(--ne-red-bright);}

/* Sections */
:root body .gp-lab__section{padding-top:clamp(56px,6vw,96px);}
:root body .gp-lab__section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin:0 0 clamp(28px,3vw,44px);padding-bottom:14px;border-bottom:1px solid var(--ne-rule);
}
:root body .gp-lab__section-title{margin:0;font-size:var(--ne-fs-h2);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:var(--ne-text);}
:root body .gp-lab__section-intro{margin:0;font-size:var(--ne-fs-small);color:var(--ne-muted);}

/* Item card */
:root body .gp-lab__item{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);
  align-items:start;scroll-margin-top:96px;
}
:root body .gp-lab__item + .gp-lab__item{margin-top:clamp(56px,6vw,88px);padding-top:clamp(56px,6vw,88px);border-top:1px solid var(--ne-rule);}
:root body .gp-lab__media{min-width:0;}
:root body .gp-lab__cover{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;box-shadow:0 22px 44px rgba(0,0,0,.55);}
:root body .gp-lab__tile{
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;aspect-ratio:1/1;padding:clamp(24px,3vw,40px);
  background:
    repeating-linear-gradient(90deg,rgba(241,239,233,.05) 0 1px,transparent 1px 28px),
    radial-gradient(120% 90% at 20% 10%,#2a2a2a 0,#131313 55%,#0b0b0b 100%);
  box-shadow:0 22px 44px rgba(0,0,0,.55),inset 0 0 0 1px var(--ne-rule);
}
:root body .gp-lab__tile-name{font-size:clamp(40px,5vw,72px);font-weight:600;line-height:.95;letter-spacing:-.03em;color:var(--ne-text);}
:root body .gp-lab__tile-sub{font-size:var(--ne-fs-small);letter-spacing:var(--ne-track-meta);text-transform:uppercase;color:var(--gp-lab-acid);}
:root body .gp-lab__audio{margin:18px 0 0;}
:root body .gp-lab__audio figcaption{margin:0 0 8px;font-size:var(--ne-fs-meta);letter-spacing:var(--ne-track-meta);text-transform:uppercase;color:var(--ne-muted);}
:root body .gp-lab__audio audio{display:block;width:100%;height:40px;color-scheme:dark;}

:root body .gp-lab__body{min-width:0;}
:root body .gp-lab__kicker{margin:0 0 10px;font-size:var(--ne-fs-meta);letter-spacing:var(--ne-track-meta);text-transform:uppercase;color:var(--ne-muted);}
:root body .gp-lab__title{
  display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 18px;
  font-size:var(--ne-fs-display);font-weight:500;line-height:1;letter-spacing:-.03em;color:var(--ne-text);
}
:root body .gp-lab__badge{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:2px;
  font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1;
  border:1px solid var(--ne-rule-strong);color:var(--ne-text-2);
}
:root body .gp-lab__badge--free{background:var(--gp-lab-acid);border-color:var(--gp-lab-acid);color:var(--gp-lab-acid-ink);}
:root body .gp-lab__summary{margin:0 0 22px;max-width:62ch;font-size:var(--ne-fs-lead);line-height:1.5;color:var(--ne-text-2);}
:root body .gp-lab__facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none;}
:root body .gp-lab__facts li{
  padding:6px 10px;border:1px solid var(--ne-rule);border-radius:2px;
  font-size:var(--ne-fs-small);color:var(--ne-text-2);
}
:root body .gp-lab__details{margin:0 0 28px;padding:0 0 0 18px;max-width:62ch;color:var(--ne-text-2);font-size:var(--ne-fs-body);line-height:1.55;}
:root body .gp-lab__details li + li{margin-top:6px;}

/* Form */
:root body .gp-lab__form{max-width:560px;padding:22px;background:var(--ne-surface);box-shadow:inset 0 0 0 1px var(--ne-rule);}
:root body .gp-lab__label{display:block;margin:0 0 8px;font-size:var(--ne-fs-meta);letter-spacing:var(--ne-track-meta);text-transform:uppercase;color:var(--ne-muted);}
:root body .gp-lab__row{display:flex;gap:10px;flex-wrap:wrap;}
:root body .gp-lab__input{
  flex:1 1 240px;min-width:0;min-height:48px;padding:0 14px;border-radius:2px;
  background:var(--ne-bg);border:1px solid var(--ne-rule-strong);color:var(--ne-text);font:inherit;font-size:16px;
}
:root body .gp-lab__input:focus{outline:2px solid var(--gp-lab-acid);outline-offset:1px;border-color:transparent;}
:root body .gp-lab__submit{
  flex:none;min-height:48px;padding:0 20px;border:0;border-radius:2px;cursor:pointer;
  background:var(--gp-lab-acid);color:var(--gp-lab-acid-ink);font:inherit;font-size:15px;font-weight:700;
  transition:filter var(--ne-t-fast) var(--ne-ease),transform var(--ne-t-fast) var(--ne-ease);
}
:root body .gp-lab__submit:is(:hover,:focus-visible){filter:brightness(1.08);}
:root body .gp-lab__submit:focus-visible{outline:2px solid var(--ne-text);outline-offset:2px;}
:root body .gp-lab__submit:active{transform:translateY(1px);}
:root body .gp-lab__hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}
:root body .gp-lab__consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font-size:var(--ne-fs-small);line-height:1.45;color:var(--ne-text-2);cursor:pointer;}
:root body .gp-lab__consent input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--gp-lab-acid);}
:root body .gp-lab__fine{margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--ne-muted);}
:root body .gp-lab__fine a{color:var(--ne-text-2);}
:root body .gp-lab__buy{
  display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:48px;margin:16px 0 0;padding:0 20px;
  border:2px solid var(--gp-lab-acid);border-radius:2px;background:transparent;color:var(--gp-lab-acid);
  font-size:15px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;
  transition:background-color var(--ne-t-fast) var(--ne-ease),color var(--ne-t-fast) var(--ne-ease),transform var(--ne-t-fast) var(--ne-ease);
}
:root body .gp-lab__buy:hover{background:var(--gp-lab-acid);color:var(--gp-lab-acid-ink);}
:root body .gp-lab__buy:focus-visible{outline:2px solid var(--ne-text);outline-offset:2px;}
:root body .gp-lab__buy:active{transform:translateY(1px);}
:root body .gp-lab__soon{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px dashed var(--ne-rule-strong);
  font-size:var(--ne-fs-small);letter-spacing:var(--ne-track-meta);text-transform:uppercase;color:var(--ne-muted);
}
:root body .gp-lab__footnote{margin:clamp(56px,6vw,88px) 0 0;font-size:var(--ne-fs-small);color:var(--ne-muted);}

@media (max-width:900px){
  :root body .gp-lab__item{grid-template-columns:minmax(0,1fr);}
  :root body .gp-lab__media{max-width:520px;}
}
@media (max-width:560px){
  :root body .gp-lab__form{padding:16px;}
  :root body .gp-lab__submit,
  :root body .gp-lab__buy{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  :root body .gp-lab__submit,
  :root body .gp-lab__buy{transition:none;}
}
