/* Sekcje [shaolin_kadra] (nxc-) i [shaolin_zajecia] (nxj-) — styl neuronutrition.pl. */
:is(.nxc,.nxj){--s-bg:#101116;--s-card:#14161c;--s-or:#FF6A00;--s-li:#F7F7F7;--s-tx:#B9B9BC;--s-mu:#7B7B7B;--s-soft:rgba(255,255,255,.07);
  --s-head:"Saira Extra Condensed",sans-serif;--s-body:"Inter",sans-serif;
  font-family:var(--s-body);color:var(--s-tx);text-align:left}
/* pełna szerokość także w wyśrodkowanym kontenerze Elementora (karta jest kontenerem zapytań i sama nie ma szerokości) */
:is(.nxc,.nxj){width:100%}
.elementor-widget-shortcode:has(.nxc,.nxj){width:100%;align-self:stretch}
:is(.nxc,.nxj) *,:is(.nxc,.nxj) *::before,:is(.nxc,.nxj) *::after{box-sizing:border-box}
:is(.nxc,.nxj) a{text-decoration:none}
:is(.nxc,.nxj) svg{display:block;flex:none}
:is(.nxc,.nxj) :where(p,ul,ol,h3){margin:0;padding:0}
:is(.nxc,.nxj) :where(ul,ol){list-style:none}

/* =================== KADRA =================== */
.nxc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:24px}
.nxc-card{container-type:inline-size;position:relative;border-radius:28px;overflow:clip;
  background:linear-gradient(160deg,#171920 0%,#101116 70%);border:1px solid rgba(255,106,0,.14);box-shadow:0 0 34px -12px rgba(255,106,0,.18);
  transition:border-color .35s,box-shadow .35s,transform .35s}
.nxc-card:hover{border-color:rgba(255,106,0,.45);box-shadow:0 22px 50px -24px rgba(0,0,0,.9),0 0 40px -10px rgba(255,106,0,.32);transform:translateY(-3px)}

.nxc-card__inner{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);min-height:460px;height:100%}
.nxc-card__photo{position:relative;display:block;overflow:clip;background:#0c0d11}
.nxc-card__photo img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:50% 22%;border-radius:0!important;
  filter:saturate(.9);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.nxc-card:hover .nxc-card__photo img{transform:scale(1.05);filter:saturate(1.05)}
/* zdjęcie przechodzi płynnie w tło karty */
.nxc-card__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(22,24,30,.7) 75%,#16181e 100%),linear-gradient(0deg,rgba(16,17,22,.92) 0%,rgba(16,17,22,.4) 28%,transparent 50%);pointer-events:none}
.nxc-card__no{position:absolute;z-index:1;left:22px;bottom:14px;font-family:var(--s-head);font-size:84px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,106,0,.75)}
.nxc-card__initial{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--s-head);font-size:140px;font-weight:700;color:rgba(255,106,0,.3)}

.nxc-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:40px 36px 36px 28px}
.nxc-card__rank{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:80px;background:rgba(255,106,0,.1);border:1px solid rgba(255,106,0,.3);
  font-family:var(--s-head);font-size:16px;letter-spacing:.04em;line-height:1.1;color:var(--s-or)}
.nxc-card__rank svg{width:17px;height:17px}
.nxc .nxc-card__name{font-family:var(--s-head);font-size:clamp(40px,4vw,54px);font-weight:500;line-height:.95;letter-spacing:0;text-transform:none}
.nxc-card__name a{color:var(--s-li);transition:color .25s}
.nxc-card__name b{display:block;font-weight:700;color:var(--s-or)}
.nxc-card__name a:hover{color:var(--s-or)}
.nxc-card__bio{font-size:15px;font-weight:300;line-height:1.7;color:var(--s-tx)}
.nxc-card__teaches{display:flex;flex-direction:column;gap:9px;width:100%;padding-top:16px;border-top:1px solid var(--s-soft)}
.nxc-card__teaches>span{font-family:var(--s-head);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--s-mu)}
.nxc-card__teaches ul{display:flex;flex-wrap:wrap;gap:8px}
.nxc-card__teaches :is(a,li>span){display:inline-flex;padding:8px 15px;border-radius:80px;background:var(--s-card);border:1px solid var(--s-soft);
  font-family:var(--s-head);font-size:17px;font-weight:500;line-height:1;color:var(--s-li);transition:border-color .2s,color .2s,background-color .2s}
.nxc-card__teaches a:hover{border-color:var(--s-or);color:var(--s-or);background:rgba(255,106,0,.08)}
.nxc-card__more{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding:13px 26px;border-radius:8px;background:var(--s-or);
  font-family:var(--s-head);font-size:19px;font-weight:500;line-height:1;color:#101116;box-shadow:0 0 24px -6px rgba(255,106,0,.5);transition:transform .25s,box-shadow .25s}
.nxc-card__more svg{width:17px;height:17px;transition:transform .25s}
.nxc-card__more:hover{color:#101116;transform:translateY(-2px);box-shadow:0 10px 30px -8px rgba(255,106,0,.75)}
.nxc-card__more:hover svg{transform:translateX(4px)}

/* wąska karta (tablet, telefon): zdjęcie nad treścią */
@container (max-width:600px){
  .nxc-card__inner{grid-template-columns:minmax(0,1fr);min-height:0}
  .nxc-card__photo{aspect-ratio:4/3}
  .nxc-card__photo::after{background:linear-gradient(0deg,rgba(20,22,28,1) 0%,transparent 55%)}
  .nxc-card__body{padding:4px 26px 28px}
  .nxc-card__no{font-size:64px;left:22px;bottom:4px}
}
/* =================== ZAJĘCIA =================== */
.nxj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.nxj-card{display:flex;flex-direction:column;border-radius:28px;overflow:clip;background:linear-gradient(170deg,#171920 0%,#101116 75%);
  border:1px solid rgba(255,106,0,.12);box-shadow:0 0 30px -12px rgba(255,106,0,.16);transition:border-color .35s,box-shadow .35s,transform .35s}
.nxj-card:hover{border-color:rgba(255,106,0,.45);box-shadow:0 22px 50px -24px rgba(0,0,0,.9),0 0 40px -10px rgba(255,106,0,.3);transform:translateY(-3px)}

.nxj-card__media{position:relative;display:block;aspect-ratio:16/9;overflow:clip;background:#0c0d11}
.nxj-card__media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;border-radius:0!important;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.nxj-card:hover .nxj-card__media img{transform:scale(1.05)}
.nxj-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,22,28,1) 0%,rgba(16,17,22,.25) 45%,rgba(16,17,22,.1));pointer-events:none}
.nxj-card__no{position:absolute;z-index:1;left:26px;bottom:6px;font-family:var(--s-head);font-size:76px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,106,0,.8)}
.nxj-card__badge{position:absolute;z-index:1;top:18px;right:18px;padding:7px 14px;border-radius:80px;background:rgba(16,17,22,.72);border:1px solid rgba(255,106,0,.45);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--s-head);font-size:15px;letter-spacing:.04em;line-height:1;color:var(--s-li)}

.nxj-card__body{display:flex;flex-direction:column;gap:18px;flex:1;padding:8px 30px 30px}
.nxj .nxj-card__title{font-family:var(--s-head);font-size:clamp(32px,3vw,40px);font-weight:600;line-height:1;letter-spacing:0;text-transform:none}
.nxj-card__title a{color:var(--s-li);transition:color .25s}
.nxj-card__title a:hover{color:var(--s-or)}
.nxj-card__lead{font-size:15px;font-weight:300;line-height:1.7;color:var(--s-tx)}
.nxj-card__lead p{margin:0}
.nxj-card__lead :is(strong,b){font-weight:600;color:var(--s-li)}

/* plan tygodnia */
.nxj-week__label{display:flex;align-items:center;gap:8px;margin:0 0 10px!important;font-family:var(--s-head);font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--s-mu)}
.nxj-week__label svg{width:16px;height:16px;color:var(--s-or)}
.nxj-week ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.nxj-week li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 9px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid var(--s-soft);text-align:center}
.nxj-week li b{font-family:var(--s-head);font-size:17px;font-weight:600;line-height:1;text-transform:uppercase;color:var(--s-mu)}
.nxj-week li span{font-size:12px;line-height:1.25;color:rgba(123,123,123,.6)}
.nxj-week li.is-on{background:rgba(255,106,0,.1);border-color:rgba(255,106,0,.5)}
.nxj-week li.is-on b{color:var(--s-li)}
.nxj-week li.is-on span{font-weight:600;color:var(--s-or)}
.nxj-week.is-soon .nxj-week__label{color:var(--s-or)}
.nxj-week.is-soon ol{opacity:.45}

/* stopka karty: trener + przyciski */
.nxj-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:20px;border-top:1px solid var(--s-soft)}
.nxj-coach{display:inline-flex;align-items:center;gap:12px}
.nxj-coach img{width:46px!important;height:46px!important;max-width:none;border-radius:50%!important;object-fit:cover;object-position:50% 20%;border:2px solid var(--s-or);box-shadow:0 0 16px -4px rgba(255,106,0,.6)}
.nxj-coach span{display:flex;flex-direction:column;font-family:var(--s-head);font-size:19px;font-weight:500;line-height:1.1;color:var(--s-li);transition:color .2s}
.nxj-coach small{font-family:var(--s-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-mu)}
.nxj-coach:hover span{color:var(--s-or)}
.nxj-card__actions{display:flex;flex-wrap:wrap;gap:10px}
.nxj-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:8px;background:var(--s-or);border:1px solid var(--s-or);
  font-family:var(--s-head);font-size:18px;font-weight:500;line-height:1;color:#101116;transition:transform .25s,box-shadow .25s,background-color .25s,color .25s}
.nxj-btn svg{width:16px;height:16px;transition:transform .25s}
.nxj-btn:hover{color:#101116;transform:translateY(-2px);box-shadow:0 10px 28px -8px rgba(255,106,0,.7)}
.nxj-btn:hover svg{transform:translateX(3px)}
.nxj-btn--ghost{background:transparent;color:var(--s-li)}
.nxj-btn--ghost:hover{background:rgba(255,106,0,.12);color:var(--s-li);box-shadow:none}
.nxj-btn--ghost:hover svg{transform:none}

.nxj-more{margin:34px 0 0!important;text-align:center}
.nxj-more a{display:inline-flex;align-items:center;gap:10px;font-family:var(--s-head);font-size:20px;font-weight:500;color:var(--s-or);transition:color .2s}
.nxj-more svg{width:18px;height:18px;transition:transform .25s}
.nxj-more a:hover{color:var(--s-li)}
.nxj-more a:hover svg{transform:translateX(4px)}

@media (max-width:900px){.nxj-grid{grid-template-columns:1fr}}
@media (max-width:480px){
  .nxj-card__body{padding:6px 20px 24px}
  .nxj-card__no{left:20px;font-size:62px}
  .nxj-week li b{font-size:15px}
  .nxj-week li span{font-size:11px}
  .nxj-card__actions{width:100%}
  .nxj-btn{flex:1 1 auto;justify-content:center;padding:12px 16px}
  .nxj-btn--ghost{flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){:is(.nxc,.nxj) *{transition:none!important}:is(.nxc-card,.nxj-card):hover{transform:none}}
