/* Team Caro · Mi Plan Premium V2
   Presentation-only layer. All portal data, IDs and behaviour stay in area.html. */

/* ── Canvas / breakout ───────────────────────────────────────────────────── */
#portal .ptabpanel[data-tab="plan"]{
  width:min(1240px,calc(100vw - 32px));
  margin-left:50%;
  transform:translateX(-50%);
}
#portal .ptabpanel[data-tab="plan"]>.grid{
  gap:22px;
  align-items:start;
}

/* ── Editorial hero ──────────────────────────────────────────────────────── */
#portal .plan-lead{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-column:span 12;
  min-height:365px;
  padding:54px 56px 50px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  background:#231e18;
  color:#fff;
  box-shadow:0 34px 85px -48px rgba(54,38,20,.62);
}
#portal .plan-lead::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('/assets/home/home-hero.webp') 68% 36%/cover no-repeat;
  filter:saturate(.83) contrast(1.02) brightness(.92);
  transform:scale(1.01);
}
#portal .plan-lead::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(22,18,14,.91) 0%,rgba(22,18,14,.76) 35%,rgba(22,18,14,.31) 68%,rgba(22,18,14,.12) 100%);
}
#portal .plan-lead-copy{min-width:0;max-width:760px}
#portal .plan-lead .k{
  color:#ead0a4;
  font-size:10.5px;
  letter-spacing:.27em;
  text-shadow:0 1px 10px rgba(0,0,0,.25);
}
#portal .plan-lead-h{
  margin:13px 0 20px;
  max-width:760px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(58px,7.5vw,94px);
  line-height:.86;
  letter-spacing:.015em;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 3px 22px rgba(0,0,0,.28);
}
#portal .plan-lead-sub{
  max-width:46ch;
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:16px;
  line-height:1.65;
  text-shadow:0 1px 10px rgba(0,0,0,.24);
}

/* ── Overview plan cards ─────────────────────────────────────────────────── */
#portal .planfeat.plan-cinematic{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:410px;
  padding:0;
  display:grid;
  grid-template-columns:minmax(190px,42%) minmax(0,58%);
  align-items:stretch;
  background:#fbf8f2;
  color:#27211a;
  border:1px solid rgba(63,47,29,.11);
  border-radius:22px;
  box-shadow:0 24px 62px -40px rgba(54,39,22,.42);
}
#portal .planfeat.plan-cinematic::before{content:none}
#portal .planfeat.plan-cinematic .plan-cover{
  position:relative;
  width:100%;
  height:100%;
  min-height:410px;
  margin:0;
  border-radius:0;
  overflow:hidden;
  background:#28231d;
}
#portal .planfeat.plan-cinematic .plan-cover img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  filter:saturate(.92) contrast(1.035) brightness(.91);
  transform:scale(1.015);
}
#portal .planfeat.plan-cinematic--nut .plan-cover img{object-position:center 50%}
#portal .planfeat.plan-cinematic--train .plan-cover img{object-position:center 48%}
#portal .planfeat.plan-cinematic .plan-cover::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(19,16,12,.01) 35%,rgba(19,16,12,.14) 70%,rgba(19,16,12,.46) 100%);
}
#portal .planfeat.plan-cinematic .plan-cover svg{display:none}
#portal .plan-cinematic-body{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:30px 30px 27px;
  background:linear-gradient(145deg,#fffdf8 0%,#f8f3e9 100%);
  color:#27211a;
}
#portal .plan-cinematic .card-head{
  margin:0 0 18px;
  align-items:center;
}
#portal .plan-cinematic .card-head h3{
  font-family:'IBM Plex Mono',monospace!important;
  font-size:9.5px!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  color:#8a6a3e!important;
}
#portal .plan-cinematic .card-head .tag{
  padding:6px 10px;
  border:1px solid rgba(151,105,42,.22);
  border-radius:999px;
  background:#f2e9db;
  color:#795528;
  font-size:9px;
  letter-spacing:.09em;
}
#portal .plan-cinematic .plan-title{
  margin:2px 0 13px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(29px,2.65vw,40px);
  line-height:1.03;
  letter-spacing:-.02em;
  text-transform:none;
  color:#211c17;
}
#portal .plan-cinematic .plan-review-slot{margin:0 0 4px;min-height:0}
#portal .plan-cinematic .plan-review-slot:empty{display:none}
#portal .plan-cinematic .plan-review-slot .tag{
  display:inline-flex;
  width:auto;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#f1e7d7!important;
  border-color:rgba(151,105,42,.22)!important;
  color:#795528!important;
  font-size:9.5px!important;
}
#portal .plan-cinematic .plan-body{
  margin-top:10px;
  color:#696157;
  font-size:13.5px;
  line-height:1.62;
  white-space:pre-wrap;
}
#portal .plan-cinematic .empty{color:#8b8378;font-style:normal}
#portal .plan-cinematic-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(63,47,29,.10);
}
#portal .plan-cinematic-link{display:flex;align-items:center;min-width:0}
#portal .plan-cinematic-link:empty{display:none}
#portal .plan-cinematic-link a,
#portal .plan-cinematic-link .btn{
  min-height:44px;
  padding:11px 18px;
  border:1px solid #a6783a;
  border-radius:999px;
  background:linear-gradient(180deg,#b98b4c 0%,#9c6c31 100%);
  color:#fffaf1!important;
  box-shadow:0 9px 24px -15px rgba(112,76,30,.8);
  font-size:11.5px;
  letter-spacing:.04em;
}
#portal .plan-cinematic .btn.ghost{
  min-height:44px;
  padding:11px 16px;
  border:1px solid rgba(56,43,27,.14);
  border-radius:999px;
  background:rgba(255,255,255,.46);
  color:#42392f;
  box-shadow:none;
  font-size:11.5px;
}
#portal .plan-cinematic .btn.ghost:hover{
  background:#fffdf8;
  border-color:rgba(151,105,42,.34);
  color:#795528;
}
#portal .plan-cinematic-files{width:100%;margin-top:7px!important;color:#766f65}
#portal .plan-cinematic .clubPlanNote{
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(63,47,29,.10)!important;
  color:#756d63!important;
  font-size:12px!important;
  line-height:1.55!important;
}
#portal .plan-cinematic-foot{
  margin-top:14px;
  color:#a49b8e;
  font-family:'IBM Plex Mono',monospace;
  font-size:8.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Structured plans use the whole reading width but keep the light editorial system. */
@media(min-width:821px){
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded{
    grid-column:span 12;
    display:block;
    min-height:0;
  }
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded .plan-cover{
    height:320px;
    min-height:320px;
  }
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded .plan-cinematic-body{
    padding:34px 38px 36px;
  }
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded .plan-title{
    max-width:760px;
    font-size:44px;
  }
}

/* ── Nutrition: turn the existing structured plan from dark UI into editorial paper ── */
#portal .plan-cinematic--nut .nv-sum{
  display:grid;
  grid-template-columns:minmax(120px,.72fr) minmax(0,1.6fr);
  column-gap:22px;
  row-gap:7px;
  align-items:end;
  margin:5px 0 19px;
  padding:19px 20px 17px;
  border:1px solid rgba(151,105,42,.18);
  border-radius:15px;
  background:linear-gradient(135deg,#f3eadc 0%,#fbf8f2 76%);
}
#portal .plan-cinematic--nut .nv-kcal{
  color:#8f642d;
  font-size:38px;
  letter-spacing:-.025em;
}
#portal .plan-cinematic--nut .nv-kcal span{
  display:block;
  margin-top:4px;
  color:#92897c;
  font:600 9px 'IBM Plex Mono',monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#portal .plan-cinematic--nut .nv-macros{
  margin:0;
  align-self:center;
  color:#655d53;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  line-height:1.85;
}
#portal .plan-cinematic--nut .nv-macros b{color:#2e2821;font-weight:600}
#portal .plan-cinematic--nut .nv-review,
#portal .plan-cinematic--nut .nv-meta{grid-column:1/-1}
#portal .plan-cinematic--nut .nv-meta{
  margin:0;
  color:#968e82;
  font:400 10.5px 'IBM Plex Mono',monospace;
  letter-spacing:.025em;
}
#portal .plan-cinematic--nut .nv-review{
  width:max-content;
  max-width:100%;
  margin:2px 0 0;
  color:#795528;
  background:#eee1ce;
  border-color:rgba(151,105,42,.23);
}
#portal .plan-cinematic--nut .nv-changes{
  margin-bottom:17px;
  padding:13px 14px;
  border:1px solid rgba(63,47,29,.10);
  border-radius:11px;
  background:#f7f1e8;
  color:#655d53;
}
#portal .plan-cinematic--nut .nv-changes .k{color:#8f642d;font-size:9.5px;letter-spacing:.13em}
#portal .plan-cinematic--nut .nv-meals{gap:10px;margin-top:15px}
#portal .plan-cinematic--nut .nv-meal{
  overflow:hidden;
  border:1px solid rgba(63,47,29,.10);
  border-radius:14px;
  background:#fffdf9;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
#portal .plan-cinematic--nut .nv-meal:has(.nv-meal-h[aria-expanded='true']){
  border-color:rgba(151,105,42,.30);
  background:#fffdf9;
  box-shadow:0 16px 36px -30px rgba(60,42,20,.55);
}
#portal .plan-cinematic--nut .nv-meal:has(.nv-meal-h[aria-expanded='true']) .nv-meal-h{background:#f8f1e7}
#portal .plan-cinematic--nut .nv-meal:has(.nv-meal-h[aria-expanded='true']) .nv-meal-thumb{opacity:.82}
#portal .plan-cinematic--nut .nv-meal-h{
  min-height:68px;
  padding:9px 12px;
  gap:12px;
  color:#2b251e;
}
#portal .plan-cinematic--nut .nv-meal-h:hover{background:#faf5ed}
#portal .plan-cinematic--nut .nv-meal-main{flex:1}
#portal .plan-cinematic--nut .nv-meal-name{color:#29231d;font-size:14.5px}
#portal .plan-cinematic--nut .nv-meal-quick{color:#81796e;font-size:11.5px}
#portal .plan-cinematic--nut .nv-kcal-chip{color:#90652d}
#portal .plan-cinematic--nut .nv-chev{color:#92897c}
#portal .nv-meal-thumb{
  width:86px;
  height:60px;
  border:1px solid rgba(63,47,29,.09);
  border-radius:10px;
  background:#eee7dc;
}
#portal .nv-meal-thumb img{filter:saturate(.94) contrast(1.02)}
#portal .plan-cinematic--nut .nv-meal-body{
  padding:4px 14px 15px;
  border-top:1px solid rgba(63,47,29,.08);
  color:#5e574e;
}
#portal .nv-meal-visual{
  height:220px;
  margin:12px 0 17px;
  border:1px solid rgba(63,47,29,.09);
  border-radius:12px;
  background:#eae2d7;
}
#portal .nv-meal-visual img{filter:saturate(.95) contrast(1.025) brightness(.96)}
#portal .nv-meal-visual::after{background:linear-gradient(180deg,transparent 58%,rgba(25,20,15,.55) 100%)}
#portal .nv-meal-visual-label{color:#fff8ed}
#portal .plan-cinematic--nut .nv-item{
  padding:11px 0;
  border-bottom-color:rgba(63,47,29,.075);
}
#portal .plan-cinematic--nut .nv-item-name{color:#373029;font-size:13px}
#portal .plan-cinematic--nut .nv-item-qty{color:#8f642d;font-size:12px}
#portal .plan-cinematic--nut .nv-item-macro{color:#938b80;font-size:10.5px}
#portal .plan-cinematic--nut .nv-item-note{color:#71695f}
#portal .plan-cinematic--nut .nv-meal-macros{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(63,47,29,.08);
  color:#746c61;
  font-size:10.5px;
}
#portal .plan-cinematic--nut .nv-plannote{color:#6b6359;border-top-color:rgba(63,47,29,.09)}

/* ── Training workspace: image-led header + light working surfaces ─────────── */
#portal #workoutCard.workout-premium{
  margin-top:12px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
}
#portal .workout-premium-head{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:320px;
  margin-bottom:18px;
  padding:38px 40px 34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  color:#fffaf2;
  background:
    linear-gradient(90deg,rgba(29,24,18,.94) 0%,rgba(29,24,18,.83) 42%,rgba(29,24,18,.34) 71%,rgba(29,24,18,.12) 100%),
    url('/assets/plan/training-hero.webp') 72% 48%/cover no-repeat;
  box-shadow:0 30px 72px -45px rgba(56,39,20,.65);
}
#portal .workout-premium-head::before{content:none}
#portal .workout-premium-head::after{
  content:"";
  position:absolute;
  left:40px;
  bottom:0;
  z-index:2;
  width:90px;
  height:2px;
  background:#c99b5d;
  box-shadow:0 0 22px rgba(201,155,93,.36);
}
#portal .workout-premium-topline{margin-bottom:36px}
#portal .workout-premium-topline span{color:rgba(255,255,255,.65)}
#portal .workout-premium-topline span:first-child{color:#edcf9d}
#portal .workout-premium-copy{
  grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
  gap:42px;
  align-items:end;
  max-width:950px;
}
#portal .workout-premium-copy h2{
  max-width:680px;
  margin-bottom:15px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(44px,5vw,68px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.02em;
  text-transform:none;
  color:#fff;
}
#portal .workout-premium-copy p{max-width:58ch;color:rgba(255,255,255,.74);font-size:14px;line-height:1.65}
#portal .workout-premium-guide{border-top-color:rgba(255,255,255,.16)}
#portal .workout-premium-guide span{border-bottom-color:rgba(255,255,255,.12);color:rgba(255,255,255,.68)}
#portal .workout-premium-guide b{color:#edcf9d}

#portal #workoutRows{gap:13px}
#portal #workoutCard .wk-daygroup{
  overflow:hidden;
  margin:0;
  border:1px solid rgba(63,47,29,.12);
  border-radius:18px;
  background:#fbf8f2;
  color:#29231d;
  box-shadow:0 20px 50px -42px rgba(54,39,22,.42);
  transition:border-color .18s,box-shadow .18s;
}
#portal #workoutCard .wk-daygroup[open]{
  border-color:rgba(151,105,42,.28);
  box-shadow:0 25px 58px -42px rgba(54,39,22,.46);
}
#portal #workoutCard .wk-daysum{
  min-height:76px;
  padding:18px 22px;
  color:#2b251e;
}
#portal #workoutCard .wk-daysum:hover{background:#f8f2e9}
#portal #workoutCard .wk-dayname{color:#2b251e;font-size:18px}
#portal #workoutCard .wk-dayname::before{
  border-color:rgba(151,105,42,.30);
  background:#efe3d0;
  color:#795528;
}
#portal #workoutCard .wk-daysum::after{color:#948b7f}
#portal #workoutCard .wk-dayrail{background:#e4ddd2}
#portal #workoutCard .wk-dayrail-f{background:#a8793d}
#portal #workoutCard .wk-dayprog{
  border-color:rgba(63,47,29,.11);
  background:#f2ece3;
  color:#81796e;
}
#portal #workoutCard .wk-dayprog.complete{color:#3f7d54;border-color:rgba(63,125,84,.30);background:rgba(63,125,84,.07)}
#portal #workoutCard .wk-dayobj{
  padding:0 22px 17px 72px;
  border-bottom:1px solid rgba(63,47,29,.075);
  color:#71695f;
}
#portal #workoutCard .wk-daybody{padding:16px;background:#f4eee5}
#portal #workoutCard .wk-daybody .wk-ex{
  position:relative;
  margin-bottom:12px;
  padding:21px 21px 19px;
  border:1px solid rgba(63,47,29,.09);
  border-radius:16px;
  background:#fffdf9;
  color:#29231d;
  box-shadow:none;
}
#portal #workoutCard .wk-daybody .wk-ex::before{
  content:"";
  position:absolute;
  left:-1px;
  top:18px;
  bottom:18px;
  width:2px;
  background:rgba(151,105,42,.32);
}
#portal #workoutCard .wk-name{color:#2b251e;font-size:21px}
#portal #workoutCard .wk-muscle{background:#efe8de;border-color:rgba(63,47,29,.09)}
#portal #workoutCard .wk-badge{color:#795528;background:#f1e6d5;border-color:rgba(151,105,42,.22)}
#portal #workoutCard .wk-video{color:#746c62;border-color:rgba(63,47,29,.16)}
#portal #workoutCard .wk-video:hover{color:#8f642d;border-color:#a8793d}
#portal #workoutCard .wk-note{background:#f7f1e8;border-color:rgba(63,47,29,.08)}
#portal #workoutCard .wk-note>summary{color:#6f675e}
#portal #workoutCard .wk-note[open]>summary{color:#8f642d}
#portal #workoutCard .wk-note-body{color:#6d655c}
#portal #workoutCard .wk-prev,
#portal #workoutCard .wk-prev.done{
  background:#f5efe6;
  border-color:rgba(63,47,29,.075);
  color:#776f64;
}
#portal #workoutCard .wk-prev::before,
#portal #workoutCard .wk-prev.done::before{color:#777f8e}
#portal #workoutCard .wk-obj{color:#6f665b}
#portal #workoutCard .wk-obj-i b{color:#8f642d}
#portal #workoutCard .wk-sethead{color:#9a9185}
#portal #workoutCard .wk-setn{color:#776f64}
#portal #workoutCard .wk-f input{
  height:50px;
  border-color:rgba(63,47,29,.12);
  border-radius:11px;
  background:#fbf8f2;
  color:#29231d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
#portal #workoutCard .wk-f input::placeholder{color:#aca397;opacity:1}
#portal #workoutCard .wk-f input:focus{border-color:rgba(151,105,42,.58);box-shadow:0 0 0 3px rgba(151,105,42,.10)}
#portal #workoutCard .wk-setok{border-color:rgba(63,47,29,.16)}
#portal #workoutCard .wk-save{
  min-height:50px;
  border-color:rgba(151,105,42,.26);
  border-radius:999px;
  background:#f1e5d3;
  color:#795528;
}
#portal #workoutCard .wk-save:hover{background:#ead8bd}
#portal #workoutCard .wk-ex.wk-armed:not(.saved) .wk-save{
  border-color:#a6783a;
  background:linear-gradient(180deg,#b98b4c,#9c6c31);
  color:#fffaf1;
}
#portal #workoutCard .wk-rest{
  min-height:50px;
  border-color:rgba(63,47,29,.12);
  border-radius:999px;
  background:#fbf8f2;
  color:#6f675d;
}
#portal #workoutCard .wk-rest:hover,
#portal #workoutCard .wk-rest.is-running{
  border-color:rgba(151,105,42,.40);
  background:#f4e8d7;
  color:#8f642d;
}
#portal #workoutCard .wk-rest.is-done{border-color:rgba(63,125,84,.32);background:rgba(63,125,84,.06);color:#3f7d54}
#portal #workoutCard .wk-set.done .wk-setok{border-color:#5b946d;background:rgba(63,125,84,.10)}
#portal #workoutCard .wk-set.done .wk-setn{color:#3f7d54}
#portal #workoutCard .wk-set.done .wk-setok::after{color:#3f7d54}
#portal #workoutCard .wk-set.done .wk-f input{border-color:rgba(63,125,84,.24)}
#portal #workoutCard .wk-ex.saved{border-color:rgba(63,125,84,.24);box-shadow:inset 3px 0 0 rgba(63,125,84,.48)}
#portal #workoutCard .wk-daydone{border-color:rgba(63,125,84,.28);background:rgba(63,125,84,.06)}
#portal #workoutCard .wk-daydone-k{color:#3f7d54}
#portal #workoutCard .wk-daydone-m{color:#746c62}
#portal #workoutCard .wk-daygroup.all-done{border-color:rgba(63,125,84,.25)}
#portal #workoutCard .wk-daygroup.all-done>.wk-daysum{background:rgba(63,125,84,.025)}
#portal #workoutCard .wk-prog{border-top-color:rgba(63,47,29,.08)}
#portal #workoutCard .wk-prog>summary{color:#746c62}
#portal #workoutCard .wk-mbtn{background:#f1ebe2;border-color:rgba(63,47,29,.10);color:#71695f}
#portal #workoutCard .wk-mbtn.on{background:#eee0cc;border-color:#a8793d;color:#795528}

@media(min-width:1100px){
  #portal #workoutCard .wk-ex{grid-template-columns:minmax(240px,31%) 1fr;column-gap:34px}
  #portal #workoutCard .wk-ex-log{padding-left:30px;border-left:1px solid rgba(63,47,29,.085)}
}

/* ── Mobile / tablet ─────────────────────────────────────────────────────── */
@media(max-width:820px){
  #portal .ptabpanel[data-tab="plan"]{
    width:100%;
    margin-left:0;
    transform:none;
  }
  #portal .ptabpanel[data-tab="plan"]>.grid{gap:16px}
  #portal .plan-lead{
    min-height:350px;
    padding:30px 22px 28px;
    border-radius:21px;
  }
  #portal .plan-lead::before{
    background-image:url('/assets/home/home-hero-mobile.webp');
    background-position:50% 24%;
  }
  #portal .plan-lead::after{
    background:linear-gradient(0deg,rgba(22,18,14,.92) 0%,rgba(22,18,14,.73) 40%,rgba(22,18,14,.24) 72%,rgba(22,18,14,.08) 100%);
  }
  #portal .plan-lead-h{font-size:clamp(48px,15vw,70px);margin:11px 0 15px}
  #portal .plan-lead-sub{font-size:14.5px;max-width:39ch}
  #portal .planfeat.plan-cinematic,
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded{
    grid-column:span 12;
    display:block;
    min-height:0;
    border-radius:20px;
  }
  #portal .planfeat.plan-cinematic .plan-cover,
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded .plan-cover{
    height:220px;
    min-height:220px;
  }
  #portal .plan-cinematic-body,
  #portal .ptabpanel[data-tab="plan"] .plan-cinematic.plan-cinematic--expanded .plan-cinematic-body{padding:23px 21px 23px}
  #portal .plan-cinematic .plan-title{font-size:33px}
  #portal .workout-premium-head{
    min-height:360px;
    padding:28px 21px 25px;
    border-radius:20px;
    background:
      linear-gradient(0deg,rgba(29,24,18,.94) 0%,rgba(29,24,18,.75) 46%,rgba(29,24,18,.22) 75%,rgba(29,24,18,.10) 100%),
      url('/assets/plan/training-hero.webp') center 42%/cover no-repeat;
  }
  #portal .workout-premium-head::after{left:21px}
  #portal .workout-premium-topline{margin-bottom:108px}
  #portal .workout-premium-copy{grid-template-columns:1fr;gap:22px}
  #portal .workout-premium-copy h2{font-size:clamp(40px,12vw,56px)}
  #portal #workoutCard .wk-daysum{padding:16px 14px;gap:9px;min-height:68px}
  #portal #workoutCard .wk-dayname{font-size:16px;gap:10px;align-items:flex-start;line-height:1.15;overflow-wrap:anywhere}
  #portal #workoutCard .wk-dayname::before{width:31px;height:31px;font-size:9px}
  #portal #workoutCard .wk-dayrail{display:none}
  #portal #workoutCard .wk-dayobj{padding:0 15px 14px 55px}
  #portal #workoutCard .wk-daybody{padding:11px}
  #portal #workoutCard .wk-daybody .wk-ex{padding:17px 14px 15px;border-radius:15px}
}

@media(max-width:520px){
  #portal .plan-cinematic--nut .nv-sum{grid-template-columns:1fr;gap:8px;padding:15px}
  #portal .plan-cinematic--nut .nv-kcal{font-size:32px}
  #portal .plan-cinematic--nut .nv-macros{font-size:10.5px}
  #portal .plan-cinematic--nut .nv-meal-h{min-height:64px;padding:7px 9px;gap:9px}
  #portal .nv-meal-thumb{width:70px;height:54px;border-radius:8px}
  #portal .plan-cinematic--nut .nv-meal-name{font-size:13px}
  #portal .plan-cinematic--nut .nv-meal-quick{font-size:10.5px;max-width:150px}
  #portal .plan-cinematic--nut .nv-kcal-chip{font-size:10.5px}
  #portal .nv-meal-visual{height:160px;margin-top:9px}
}

@media(max-width:380px){
  #portal .plan-cinematic-actions{display:grid;grid-template-columns:1fr;width:100%}
  #portal .plan-cinematic-actions>*{width:100%}
  #portal .plan-cinematic .btn.ghost,
  #portal .plan-cinematic-link a,
  #portal .plan-cinematic-link .btn{width:100%}
}
