/* Team Caro · Resources Premium V1
   Presentation-only layer for the academy, library, tools, files and videos. */

#portal .ptabpanel[data-tab="rec"]>.grid{
  gap:22px;
  align-items:start;
}

/* ── Editorial lead ─────────────────────────────────────────────────────── */
#portal .resources-lead{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-column:span 12;
  min-height:340px;
  padding:50px 52px 46px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid rgba(255,255,255,.15);
  border-radius:27px;
  color:#f8f4ec;
  background:#191714;
  box-shadow:0 36px 88px -52px rgba(41,30,19,.72);
}
#portal .resources-lead::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('/assets/home/home-detail.webp') 58% 48%/cover no-repeat;
  filter:saturate(.78) contrast(1.04) brightness(.78);
  transform:scale(1.025);
}
#portal .resources-lead::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(22,19,15,.95) 0%,rgba(22,19,15,.83) 38%,rgba(22,19,15,.46) 70%,rgba(22,19,15,.20) 100%);
}
#portal .resources-lead .k{
  color:#e3c18a;
  font-size:10px;
  letter-spacing:.25em;
}
#portal .resources-lead h2{
  max-width:790px;
  margin:12px 0 18px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(56px,7vw,88px);
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:none;
  color:#fff;
}
#portal .resources-lead p{
  max-width:50ch;
  margin:0;
  color:rgba(255,255,255,.80);
  font-size:15.5px;
  line-height:1.68;
}
#portal .resources-lead-meta{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:25px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.15);
}
#portal .resources-lead-meta span{
  font:500 9.5px 'IBM Plex Mono',monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
#portal .resources-lead-meta span::before{
  content:'•';
  margin-right:9px;
  color:#d7aa69;
}

/* ── Shared resource surfaces ───────────────────────────────────────────── */
#portal .ptabpanel[data-tab="rec"]>.grid>.card{
  padding:30px 32px 32px;
  border:1px solid rgba(72,60,44,.11);
  border-radius:22px;
  background:rgba(249,247,241,.93);
  box-shadow:0 28px 72px -56px rgba(47,34,21,.40);
}
#portal .ptabpanel[data-tab="rec"]>.grid>.card>.card-head{
  margin-bottom:23px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(73,60,44,.11);
}
#portal .ptabpanel[data-tab="rec"]>.grid>.card>.card-head h3{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:29px;
  line-height:1.08;
  letter-spacing:-.015em;
  text-transform:none;
  color:#2c2721;
}
#portal .ptabpanel[data-tab="rec"]>.grid>.card>.card-head .tag{
  padding:0;
  border:0;
  background:transparent;
  font-size:9.5px;
  letter-spacing:.12em;
  color:#958a7e;
}

/* Academy is the primary learning module. */
#portal .ptabpanel[data-tab="rec"] #academyCard{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#fbf9f4 0%,#f2ede4 100%);
  border-color:rgba(151,107,47,.16);
}
#portal .ptabpanel[data-tab="rec"] #academyCard::after{
  content:"ACADEMY";
  position:absolute;
  right:-8px;
  top:48px;
  pointer-events:none;
  font:600 clamp(62px,9vw,118px)/1 'Oswald',sans-serif;
  letter-spacing:.04em;
  color:rgba(91,72,48,.035);
}
#portal .ptabpanel[data-tab="rec"] #academyBody{
  position:relative;
  z-index:1;
  max-width:960px;
}
#portal .ptabpanel[data-tab="rec"] .ac-sec{
  margin-bottom:28px;
}
#portal .ptabpanel[data-tab="rec"] .ac-sec-h{
  margin-bottom:10px;
  font-size:9.5px;
  letter-spacing:.19em;
  color:#9b6d31;
}
#portal .ptabpanel[data-tab="rec"] .ac-list{
  border-top:1px solid rgba(73,60,44,.10);
}
#portal .ptabpanel[data-tab="rec"] .ac-item{
  gap:18px;
  min-height:78px;
  padding:16px 0;
  border-bottom-color:rgba(73,60,44,.09);
  transition:padding-left .18s ease,background .18s ease;
}
#portal .ptabpanel[data-tab="rec"] .ac-item:hover{
  padding-left:8px;
}
#portal .ptabpanel[data-tab="rec"] .ac-ic{
  width:48px;
  height:48px;
  border:1px solid rgba(73,60,44,.08);
  border-radius:50%;
  background:#eee8de;
  font-size:18px;
}
#portal .ptabpanel[data-tab="rec"] .ac-main b{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:18px;
  line-height:1.25;
  color:#302a23;
}
#portal .ptabpanel[data-tab="rec"] .ac-desc{
  margin-top:2px;
  max-width:70ch;
  color:#70675d;
  font-size:13px;
  line-height:1.5;
}
#portal .ptabpanel[data-tab="rec"] .ac-reason{
  font-size:8.5px;
  letter-spacing:.10em;
}
#portal .ptabpanel[data-tab="rec"] .ac-reason-coach{color:#9b6d31}
#portal .ptabpanel[data-tab="rec"] .ac-seen,
#portal .ptabpanel[data-tab="rec"] .ac-chev{
  font-size:10px;
  color:#a1988d;
}

/* Library/content list: elegant reading index. */
#portal .ptabpanel[data-tab="rec"] #resourcesCard .vitem,
#portal .ptabpanel[data-tab="rec"] #videosCard .vitem{
  gap:18px;
  min-height:72px;
  padding:15px 0;
  border-bottom-color:rgba(73,60,44,.09);
}
#portal .ptabpanel[data-tab="rec"] #resourcesCard .vitem .ic,
#portal .ptabpanel[data-tab="rec"] #videosCard .vitem .ic{
  width:46px;
  height:46px;
  border:1px solid rgba(73,60,44,.08);
  border-radius:50%;
  background:#efeae1;
}
#portal .ptabpanel[data-tab="rec"] #resourcesCard .vitem b,
#portal .ptabpanel[data-tab="rec"] #videosCard .vitem b{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:17px;
  line-height:1.3;
  color:#332d26;
}
#portal .ptabpanel[data-tab="rec"] #resourcesCard .vitem:hover b,
#portal .ptabpanel[data-tab="rec"] #videosCard .vitem:hover b{
  color:#94682d;
}
#portal .ptabpanel[data-tab="rec"] .vitem .chev{
  color:#a0968a;
}

/* Club formation / calls / tools use a quieter editorial rhythm. */
#portal .ptabpanel[data-tab="rec"] #clubSlidesCard,
#portal .ptabpanel[data-tab="rec"] #groupCallCard,
#portal .ptabpanel[data-tab="rec"] #clubToolsCard{
  background:#f6f2ea;
}
#portal .ptabpanel[data-tab="rec"] #groupCallCard{
  border-color:rgba(150,105,42,.18);
  background:linear-gradient(145deg,#f7f2e9,#eee5d7);
}
#portal .ptabpanel[data-tab="rec"] #toolWrap{
  margin-top:22px!important;
  overflow:hidden;
  border:1px solid rgba(73,60,44,.10)!important;
  border-radius:18px!important;
  background:#fff;
  box-shadow:0 24px 62px -48px rgba(40,29,18,.46);
}

/* Files become a visual archive rather than utility tiles. */
#portal .ptabpanel[data-tab="rec"] #filesCard .filegrid{
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:14px;
}
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard{
  overflow:hidden;
  border:1px solid rgba(73,60,44,.09);
  border-radius:16px;
  background:#eee8de;
  box-shadow:0 16px 38px -32px rgba(42,31,19,.38);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard:hover{
  transform:translateY(-3px);
  border-color:rgba(150,105,42,.24);
  box-shadow:0 24px 48px -34px rgba(42,31,19,.46);
}
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard img,
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard video,
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard .doc-ico{
  aspect-ratio:4/3;
}
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard img{
  filter:saturate(.88) contrast(1.01);
}
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard .doc-ico{
  background:linear-gradient(145deg,#e6ded1,#f3eee6);
  font-size:36px;
}
#portal .ptabpanel[data-tab="rec"] #filesCard .filecard span{
  padding:13px 14px;
  background:#f6f2ea;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  color:#3a332b;
}

/* Embedded videos feel like editorial media. */
#portal .ptabpanel[data-tab="rec"] .vid-embed{
  overflow:hidden;
  border:0;
  border-radius:18px;
  box-shadow:0 24px 58px -42px rgba(28,21,14,.50);
}
#portal .ptabpanel[data-tab="rec"] .yt-facade img{
  filter:saturate(.88) contrast(1.04) brightness(.92);
}
#portal .ptabpanel[data-tab="rec"] .yt-play{
  width:60px;
  height:44px;
  border-radius:999px;
  background:rgba(24,20,16,.72);
  backdrop-filter:blur(6px);
}
#portal .ptabpanel[data-tab="rec"] .yt-facade:hover .yt-play{
  background:#a37436;
}

@media(min-width:1100px){
  #portal .ptabpanel[data-tab="rec"]{
    width:min(1180px,calc(100vw - 40px));
    margin-left:50%;
    transform:translateX(-50%);
  }

  /* When these modules are all visible, give the page magazine rhythm. */
  #portal .ptabpanel[data-tab="rec"] #academyCard{grid-column:span 12}
  #portal .ptabpanel[data-tab="rec"] #resourcesCard,
  #portal .ptabpanel[data-tab="rec"] #videosCard{grid-column:span 7}
  #portal .ptabpanel[data-tab="rec"] #clubSlidesCard,
  #portal .ptabpanel[data-tab="rec"] #groupCallCard,
  #portal .ptabpanel[data-tab="rec"] #clubToolsCard{grid-column:span 5}
  #portal .ptabpanel[data-tab="rec"] #filesCard{grid-column:span 12}
}

@media(max-width:820px){
  #portal .resources-lead{
    min-height:270px;
    padding:32px 22px 28px;
    border-radius:21px;
  }
  #portal .resources-lead::before{background-position:55% 48%}
  #portal .resources-lead::after{
    background:linear-gradient(0deg,rgba(22,19,15,.94) 0%,rgba(22,19,15,.68) 64%,rgba(22,19,15,.30) 100%);
  }
  #portal .resources-lead h2{font-size:clamp(48px,13vw,70px)}
  #portal .resources-lead p{font-size:14px}
  #portal .resources-lead-meta{gap:10px 18px;margin-top:18px}
  #portal .ptabpanel[data-tab="rec"]>.grid>.card{
    padding:22px 20px;
    border-radius:18px;
  }
  #portal .ptabpanel[data-tab="rec"]>.grid>.card>.card-head h3{font-size:24px}
  #portal .ptabpanel[data-tab="rec"] #academyCard::after{display:none}
  #portal .ptabpanel[data-tab="rec"] .ac-item{gap:12px}
  #portal .ptabpanel[data-tab="rec"] .ac-ic{width:42px;height:42px}
  #portal .ptabpanel[data-tab="rec"] .ac-main b{font-size:16px}
  #portal .ptabpanel[data-tab="rec"] #filesCard .filegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

@media(max-width:430px){
  #portal .ptabpanel[data-tab="rec"] #filesCard .filegrid{grid-template-columns:1fr 1fr}
  #portal .ptabpanel[data-tab="rec"] #filesCard .filecard span{font-size:12.5px;padding:10px 11px}
}
