/* Team Caro · Home Premium V2
   Presentation-only overrides for the client home / Esta semana surface. */

@media (min-width: 961px){
  /* Give the home view a wider, more editorial canvas. */
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) main > .wrap{
    max-width:1240px;
  }

  /* Ambient canvas: soft image-derived depth in the desktop gutters. */
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]){
    position:relative;
    isolation:isolate;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"])::before,
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"])::after{
    content:"";
    position:fixed;
    z-index:-2;
    pointer-events:none;
    width:46vw;
    height:76vh;
    top:160px;
    opacity:.18;
    filter:blur(72px) saturate(.72) contrast(.92);
    transform:scale(1.13);
    background-size:cover;
    background-repeat:no-repeat;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"])::before{
    left:-23vw;
    background-image:linear-gradient(rgba(238,232,220,.5),rgba(238,232,220,.5)),url('/assets/home/home-detail.webp');
    background-position:center;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"])::after{
    right:-24vw;
    top:520px;
    background-image:linear-gradient(rgba(235,226,210,.6),rgba(235,226,210,.6)),url('/assets/home/lifecycle-bg.webp');
    background-position:center;
  }

  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) main::before{
    content:"";
    position:fixed;
    inset:52px 0 0;
    z-index:-3;
    pointer-events:none;
    background:
      radial-gradient(900px 520px at 14% 12%,rgba(203,162,95,.12),transparent 62%),
      radial-gradient(780px 520px at 87% 58%,rgba(108,88,63,.09),transparent 66%),
      linear-gradient(180deg,#efede7 0%,#ebe8df 58%,#e5e1d8 100%);
  }

  /* ── Client masthead ─────────────────────────────────────────────────── */
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) > .wrap:first-of-type{
    max-width:1240px;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .welcome{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:300px;
    margin-top:22px;
    padding:44px 46% 42px 46px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border:1px solid rgba(84,69,48,.13);
    border-radius:26px;
    background:rgba(248,246,240,.88);
    box-shadow:0 30px 78px -50px rgba(45,34,22,.42);
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .welcome::before{
    content:"";
    position:absolute;
    z-index:-2;
    top:0;
    right:0;
    bottom:0;
    width:43%;
    background:url('/assets/home/lifecycle-bg.webp') 52% 43%/cover no-repeat;
    filter:saturate(.78) contrast(1.02) brightness(.95);
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .welcome::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:
      linear-gradient(90deg,rgba(248,246,240,.99) 0%,rgba(248,246,240,.98) 45%,rgba(248,246,240,.78) 62%,rgba(248,246,240,.05) 100%);
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .welcome .eyebrow{
    margin-bottom:11px;
    font-size:10.5px;
    letter-spacing:.24em;
    color:#9a6c2f;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .welcome h1{
    max-width:740px;
    margin:0;
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:clamp(48px,5.3vw,74px);
    line-height:.95;
    letter-spacing:-.035em;
    text-transform:none;
    color:#211d18;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .obj{
    max-width:52ch;
    margin-top:15px;
    font-size:15px;
    line-height:1.65;
    color:#686057;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .obj b{color:#8e632a}

  /* Stats become a single editorial rhythm instead of floating mini-cards. */
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .statsrow{
    display:flex;
    gap:0;
    width:max-content;
    max-width:100%;
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid rgba(65,54,40,.12);
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .stat{
    min-width:122px;
    padding:0 24px 0 0;
    margin-right:24px;
    border:0;
    border-right:1px solid rgba(65,54,40,.13);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .stat:last-child{
    margin-right:0;
    padding-right:0;
    border-right:0;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .stat .v{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:28px;
    color:#242018;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .stat .l{
    margin-top:5px;
    font-size:9px;
    letter-spacing:.11em;
    color:#8c8276;
  }
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) .wa-btn{
    align-self:flex-start;
    margin-top:22px;
    border:1px solid rgba(37,211,102,.18);
    border-radius:999px;
    box-shadow:0 8px 24px -16px rgba(18,105,51,.42);
  }

  /* Reminders sit below the masthead as elegant notices, not dashboard widgets. */
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) #checkinReminder,
  #portal:has(.ptab[data-tab="hoy"][aria-selected="true"]) #fichaReminder{
    border-radius:18px;
    background:rgba(247,244,237,.84);
    border-color:rgba(150,105,42,.24);
    box-shadow:0 22px 54px -44px rgba(45,34,22,.44);
    backdrop-filter:blur(12px);
  }

  /* ── Tab rail ────────────────────────────────────────────────────────── */
  #portal .ptabs{
    top:50px;
    margin:0 0 30px;
    padding:0 2px;
    border-bottom:1px solid rgba(59,49,37,.12);
    background:rgba(236,233,225,.76);
    backdrop-filter:blur(18px) saturate(1.1);
  }
  #portal .ptab{
    margin-right:34px;
    padding:17px 2px 15px;
    font-family:'IBM Plex Mono',monospace;
    font-size:10.5px;
    font-weight:500;
    letter-spacing:.13em;
    color:#92887d;
  }
  #portal .ptab[aria-selected="true"]{
    color:#2d2821;
    border-bottom-color:#9d7134;
  }

  /* ── Home composition ───────────────────────────────────────────────── */
  #portal .ptabpanel[data-tab="hoy"] .home{
    gap:28px;
    padding:0 0 12px;
  }

  /* Main action hero gets wider cinematic framing and a calmer editorial overlay. */
  #portal .ptabpanel[data-tab="hoy"] .home-hero{
    min-height:540px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:28px;
    box-shadow:0 40px 96px -54px rgba(30,22,14,.76);
  }
  #portal .ptabpanel[data-tab="hoy"] .na-photo{
    background-position:71% 37%;
    filter:saturate(.86) contrast(1.02) brightness(.97);
    transform:scale(1.015);
  }
  #portal .ptabpanel[data-tab="hoy"] .home-hero::after{
    background:linear-gradient(90deg,rgba(18,16,12,.94) 0%,rgba(18,16,12,.87) 34%,rgba(18,16,12,.46) 65%,rgba(18,16,12,.10) 100%);
  }
  #portal .ptabpanel[data-tab="hoy"] .na-inner{
    width:56%;
    max-width:630px;
    padding:56px 50px;
  }
  #portal .ptabpanel[data-tab="hoy"] .na-eyebrow{
    margin-bottom:18px;
    font-size:10.5px;
    letter-spacing:.26em;
  }
  #portal .ptabpanel[data-tab="hoy"] .na-title{
    max-width:13ch;
    margin-bottom:20px;
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:clamp(52px,5.4vw,78px);
    line-height:.93;
    letter-spacing:-.025em;
    text-transform:none;
  }
  #portal .ptabpanel[data-tab="hoy"] .na-desc{
    max-width:44ch;
    margin-bottom:30px;
    color:rgba(246,242,234,.78);
    font-size:15.5px;
    line-height:1.68;
  }
  #portal .ptabpanel[data-tab="hoy"] .na-cta{
    border-radius:999px;
    min-width:190px;
    padding:14px 24px;
  }
  #portal .ptabpanel[data-tab="hoy"] .na-brand{
    right:34px;
    bottom:28px;
    font-size:9.5px;
    letter-spacing:.28em;
  }

  /* Mid section reads like a magazine spread, not a card row. */
  #portal .ptabpanel[data-tab="hoy"] .home-mid{
    gap:22px;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-midcard{
    border-radius:22px;
    border-color:rgba(72,60,44,.11);
    background:rgba(249,247,241,.90);
    box-shadow:0 28px 74px -56px rgba(48,35,23,.42);
    backdrop-filter:blur(10px);
  }
  #portal .ptabpanel[data-tab="hoy"] .home-midcard>#homeReviewCard,
  #portal .ptabpanel[data-tab="hoy"] .home-midcard>.home-mid-right{
    padding:32px 32px;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-detail{
    flex-basis:330px;
    border-radius:22px;
    box-shadow:0 30px 70px -48px rgba(41,30,19,.5);
  }
  #portal .ptabpanel[data-tab="hoy"] .home-detail .hd-photo{
    filter:saturate(.82) contrast(1.02) brightness(.97);
    transform:scale(1.012);
  }
  #portal .ptabpanel[data-tab="hoy"] .home-detail .hd-cap{
    padding:22px 20px 18px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:18px;
    line-height:1.35;
  }

  /* Secondary content becomes a quiet editorial journal below the main action. */
  #portal .ptabpanel[data-tab="hoy"] .home-coach,
  #portal .ptabpanel[data-tab="hoy"] .home-strip,
  #portal .ptabpanel[data-tab="hoy"] .home-academy{
    border-top-color:rgba(64,53,40,.13);
  }
  #portal .ptabpanel[data-tab="hoy"] .home-coach{
    margin-top:4px;
    padding:28px 0 10px 26px;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-coach::before{
    top:28px;
    bottom:10px;
    background:#a77a3d;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-coach .hc-eyebrow{
    font-size:9.5px;
    letter-spacing:.21em;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-coach .plan-body{
    max-width:760px;
    margin-top:10px!important;
    font-family:Georgia,'Times New Roman',serif;
    font-size:20px;
    line-height:1.58;
    color:#312b24;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-strip{
    padding:24px 0 8px;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-strip .card-head h3{
    color:#756c62;
    font-size:10px;
    letter-spacing:.18em;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-strip .plan-body{
    max-width:720px;
    color:#5d554d;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-clubpair>.home-strip:first-child{padding-right:42px}
  #portal .ptabpanel[data-tab="hoy"] .home-clubpair>.home-strip+.home-strip{padding-left:42px}

  /* Club dashboard, when present, should sit in the same visual language. */
  #portal .ptabpanel[data-tab="hoy"] #clubDashboard.card{
    border-radius:22px!important;
    border-color:rgba(150,105,42,.20)!important;
    background:linear-gradient(145deg,rgba(249,247,241,.95),rgba(239,232,220,.88))!important;
    box-shadow:0 28px 72px -54px rgba(48,35,23,.44)!important;
  }
}

/* Tablet/mobile: retain the strong composition but avoid desktop decorative weight. */
@media (max-width:960px){
  #portal .welcome{
    padding-top:28px;
  }
  #portal .welcome h1{
    letter-spacing:-.02em;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-hero{
    border-radius:22px;
    box-shadow:0 28px 68px -46px rgba(30,22,14,.68);
  }
  #portal .ptabpanel[data-tab="hoy"] .na-title{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    text-transform:none;
    letter-spacing:-.02em;
  }
  #portal .ptabpanel[data-tab="hoy"] .home-midcard,
  #portal .ptabpanel[data-tab="hoy"] .home-detail{
    border-radius:18px;
  }
}
