/* =========================================================
   MINHAS ATUAÇÕES (#minhas-atuacoes) · carrossel de 2 cartões · v4 aprovada
   Uma mão enluvada segura um cartão de papel; o Johny sai pela borda de cima.
   01 Saúde mental e trabalho (verde, luva de couro) → 02 Sexualidade e
   relacionamentos (vinho, luva de veludo). A seção ocupa exatamente 1 tela.
   Lógica em js/modules/atuacoes.js. Guia e arquivos originais em
   docs/ATUACOES-original.md e docs/atuacoes-original/ (o original vence).

   Integração (o resto é idêntico à v4):
   - dentro de @layer sections; prefixo .ma / .ma- preservado;
   - tokens do site: Cinzel (--ff-caps), altura do navbar (--nav-h), marfim
     (--c-cream-warm) e verde médio do cenário (--c-green-night), todos com
     diferença imperceptível; o resto da paleta é da arte e ficou como veio;
   - imagem do papel em ../../img/atuacoes-papel.webp;
   - âncora alinha no topo (tela cheia), foco visível no trilho, sem JS as setas somem.

   --- --ma-w = largura do cartão (tópicos e título)
   --- --ma-u = escala da foto e da mão (o JS ajusta para caber na altura)
   ========================================================= */
@layer sections {
  .ma {
    --ma-font-display: var(--ff-caps);

    --ma-ivory: var(--c-cream-warm);
    --ma-paper: #e5d4c0;

    /* altura do menu fixo do site (a cabeça do Johny nunca fica atrás dele) */
    --ma-nav-offset: var(--nav-h);

    --ma-w: min(980px, 70vw);
    --ma-u: min(580px, calc(var(--ma-w) * 0.62));

    position: relative;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
    background: #0d0d0d;
    isolation: isolate;
    line-height: normal;          /* a seção foi desenhada sem a entrelinha 1.65 do body */
    /* seção de tela cheia: a âncora alinha no topo, sob o navbar translúcido */
    scroll-margin-top: calc(-1 * (var(--nav-h) + var(--space-md)));
  }
  @media (min-width: 641px) and (orientation: portrait) {
    .ma { --ma-w: min(760px, 86vw); }          /* tablet em pé */
  }
  @media (max-width: 640px) {
    .ma {
      --ma-w: 92vw;
      --ma-u: calc(var(--ma-w) * 0.8);
    }
  }

  /* ---------- temas ---------- */
  .ma-slide--trabalho {
    --scene-spot: #274432;
    --scene-mid: var(--c-green-night);
    --scene-edge: #07100a;
    --title-1: #c29b55;
    --title-2: #93702f;
    --title-fade: rgba(147, 112, 47, 0.18);
    --sub: #1b3326;
    --ink: #1b3326;
    --accent: #a07a3b;
    --chip-line: rgba(27, 51, 38, 0.42);
    --chip-fill: rgba(255, 252, 245, 0.22);
  }
  .ma-slide--amor {
    --scene-spot: #62202f;
    --scene-mid: #3c0f1a;
    --scene-edge: #150408;
    --title-1: #93304a;
    --title-2: #5e1a2a;
    --title-fade: rgba(94, 26, 42, 0.16);
    --sub: #2f0a13;
    --ink: #3a0f19;
    --accent: #a2485b;
    --chip-line: rgba(94, 26, 42, 0.42);
    --chip-fill: rgba(255, 250, 245, 0.22);
  }

  /* ---------- trilho (scroll-snap nativo) ---------- */
  .ma__track {
    display: flex;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    cursor: grab;
    outline: none;
  }
  .ma__track::-webkit-scrollbar { display: none; }
  .ma__track:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -6px; }
  .ma__track.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; user-select: none; }

  /* ---------- slide = cenário ---------- */
  .ma-slide {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--ma-nav-offset);
    box-sizing: border-box;
    background:
      radial-gradient(ellipse 58% 52% at 50% 44%, var(--scene-spot) 0%, transparent 72%),
      radial-gradient(ellipse 125% 100% at 50% 40%, var(--scene-mid) 0%, var(--scene-edge) 100%);
  }
  .ma-slide::before {                       /* grão de filme, SVG inline */
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.07;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* ---------- palco ---------- */
  .ma-stage {
    position: relative;
    z-index: 1;
    width: var(--ma-w);
    margin: 0 auto;
    flex: none;
    container-type: inline-size;       /* cqi = % da largura do cartão */
  }
  .ma-holder {
    /* foto: recorte 810×913 · a borda do cartão passa logo abaixo da gola */
    --photo-w: calc(var(--ma-u) * 0.40);
    --photo-above: calc(var(--photo-w) * 0.5805);
    /* mão: largura da camada (724 px na arte) */
    --hand-w: calc(var(--ma-u) * 0.66);
    --thumb: calc(var(--hand-w) * 0.1188);        /* quanto o polegar sobe no cartão */
    --hand-min: calc(var(--hand-w) * 0.64);       /* dedos + palma + punho sempre visíveis */
    padding-top: calc(var(--photo-above) + 6px);
    padding-bottom: var(--hand-min);
    transform-origin: 52% 100%;
  }

  /* ---------- o cartão ---------- */
  .ma-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding: calc(var(--photo-w) * 0.40) 5.5cqi calc(var(--thumb) + 14px);
    text-align: center;
    border-radius: 3px;
    background:
      linear-gradient(100deg, rgba(255, 250, 242, 0.32) 0%, rgba(255, 255, 255, 0) 45%, rgba(70, 40, 20, 0.08) 100%),
      url("../../img/atuacoes-papel.webp") var(--ma-paper);
    background-size: auto, 360px 360px;
    box-shadow:
      0 2px 3px rgba(0, 0, 0, 0.35),
      0 20px 36px -14px rgba(0, 0, 0, 0.6),
      0 70px 100px -40px rgba(0, 0, 0, 0.7),
      inset 0 0 0 1px rgba(255, 255, 255, 0.12),
      inset 0 -1px 0 rgba(90, 60, 35, 0.25);
  }

  /* foto: peito dentro do cartão, cabeça no cenário */
  .ma-card__photo {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: calc(var(--photo-above) * -1);
    width: var(--photo-w);
    aspect-ratio: 810 / 913;
    margin: 0;
    transform: translateX(-50%);
    pointer-events: none;
  }
  .ma-card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    -webkit-mask-image: linear-gradient(to bottom, #000 58%, rgba(0, 0, 0, 0.45) 78%, transparent 96%);
            mask-image: linear-gradient(to bottom, #000 58%, rgba(0, 0, 0, 0.45) 78%, transparent 96%);
  }

  /* título no padrão "SOBRE MIM / O PROFISSIONAL" */
  .ma-card__title {
    --big-size: min(var(--big, 9cqi), calc(var(--ma-u) * 0.15));
    position: relative;
    z-index: 2;
    flex: none;
    margin: 0;
    font-weight: 400;
    text-transform: uppercase;
  }
  .ma-card__big {
    display: block;
    font-family: var(--ma-font-display);
    font-size: var(--big-size);
    font-weight: 500;
    line-height: 0.95;
    letter-spacing: 0.01em;
    white-space: nowrap;
    padding: 0.2em 0 0.06em;          /* folga para acentos (Ú) no background-clip */
    margin-top: -0.2em;
    background: linear-gradient(180deg, var(--title-1) 8%, var(--title-2) 58%, var(--title-fade) 94%);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
  }
  .ma-card__sub {
    position: relative;
    display: block;
    margin-top: calc(var(--big-size) * -0.44);    /* sobrepõe a base da palavra, como em SOBRE MIM */
    font-family: var(--ma-font-display);
    font-size: max(12px, calc(var(--big-size) * 0.28));
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.2em;
    color: var(--sub);
  }

  .ma-card__rule {
    flex: none;
    display: block;
    width: 56px;
    height: 1px;
    margin: 14px auto 0;
    background: var(--accent);
  }

  /* tópicos: cada um na borda fina do "PSICÓLOGO · SEXÓLOGO" */
  .ma-card__topics {
    --chip-fs: clamp(13px, 1.62cqi, 17px);
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    gap: 8px 8px;
    margin: auto;                      /* centraliza no espaço que sobra */
    padding: 16px 0 0;
    list-style: none;
  }
  .ma-card__topics li {
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.62em 1em 0.52em;
    border: 1px solid var(--chip-line);
    background: var(--chip-fill);
    font-family: var(--ma-font-display);
    font-size: var(--chip-fs);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--ink);
    white-space: nowrap;
  }

  /* mão: polegar por cima do cartão, antebraço saindo pela base da tela
     camada 724×1081 · centro do polegar a 31.35% da camada · 9.99% da altura fica acima da borda */
  .ma-card__hand {
    position: absolute;
    z-index: 3;
    left: calc(52.25% - var(--hand-w) * 0.3135);
    top: 100%;
    width: var(--hand-w);
    height: auto;
    transform: translateY(-9.99%);
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
  }

  /* ---------- mobile ---------- */
  @media (max-width: 640px) {
    .ma .ma-holder { --photo-w: calc(var(--ma-u) * 0.5); }
    .ma .ma-card { padding-left: 4.5cqi; padding-right: 4.5cqi; }
    .ma .ma-card__title { --big-size: min(var(--big-sm, 10.6cqi), calc(var(--ma-u) * 0.17)); }
    .ma .ma-card__big { letter-spacing: 0; }
    .ma .ma-card__sub { margin-top: calc(var(--big-size) * -0.06); font-size: max(12.5px, calc(var(--big-size) * 0.32)); letter-spacing: 0.16em; }
    .ma .ma-card__rule { width: 40px; margin-top: 12px; }
    .ma .ma-card { padding-top: calc(var(--photo-w) * 0.36); }
    .ma .ma-card__topics { --chip-fs: 12px; gap: 5px 5px; padding-top: 12px; }
    .ma .ma-card__topics li { padding: 0.5em 0.62em 0.4em; letter-spacing: 0.03em; white-space: normal; }
  }

  /* ---------- navegação (paralelogramos do site) ---------- */
  .ma__nav {
    position: absolute;
    z-index: 5;
    left: clamp(16px, 4vw, 72px);
    right: clamp(16px, 4vw, 72px);
    top: calc(50% + var(--ma-nav-offset) / 2);
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
  }
  /* celular: "anterior" no canto esquerdo e "próxima" no direito (pedido do Victor, 2026-09-29;
     na v4 as duas ficavam juntas à esquerda). Setas sempre visíveis, em qualquer altura de tela. */
  @media (max-width: 640px) {
    .ma__nav { top: auto; left: 16px; right: 16px; bottom: 16px; transform: none; }
    /* a seta da direita ocupa o canto do botão flutuante de WhatsApp: enquanto a seção cobre a tela, ele dá lugar a ela */
    html.ma-cover .wa-float { opacity: 0; visibility: hidden; transform: scale(0.8); transition-delay: 0s, 0s, var(--dur-base); }
  }
  .ma__next { position: relative; display: grid; }

  /* dica "Arraste →": abaixo da seta da direita no desktop, acima dela no celular */
  .ma__hint {
    position: absolute;
    left: 50%;
    top: calc(100% + 12px);
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    transform: translateX(-50%);
    font-family: var(--ma-font-display);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--ma-ivory);
    opacity: 0.8;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
    pointer-events: none;
    transition: opacity 0.4s ease;
  }
  .ma__hint svg { flex: none; width: 22px; height: 8.25px; }   /* tamanho explícito: o Safari esticava a seta */
  .ma.is-last .ma__hint { opacity: 0; }
  /* celular: no centro inferior, entre as duas setas (pedido do Victor). Fica sobre o braço/punho da luva
     (o punho é branco), então ganha o fundo escuro em paralelogramo das setas para continuar legível. */
  @media (max-width: 640px) {
    .ma__next { position: static; }
    .ma__hint {
      top: 50%;
      height: 36px;
      padding: 0 18px 0 20px;
      transform: translate(-50%, -50%);
      opacity: 1;
      text-shadow: none;
      background: rgba(12, 20, 15, 0.72);
      -webkit-backdrop-filter: blur(6px);
              backdrop-filter: blur(6px);
      box-shadow: inset 0 0 0 1px rgba(241, 234, 219, 0.3);
      clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);   /* mesma inclinação das setas */
    }
  }
  .ma__btn {
    pointer-events: auto;
    display: grid;
    place-items: center;
    width: clamp(56px, 6vw, 88px);
    height: clamp(36px, 3.4vw, 48px);
    border: 0;
    padding: 0;
    cursor: pointer;
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  .ma__btn svg { width: 40%; height: auto; }
  .ma__btn--prev { background: rgba(10, 10, 10, 0.35); color: var(--ma-ivory); box-shadow: inset 0 0 0 1px rgba(241, 234, 219, 0.3); }
  .ma__btn--next { background: var(--ma-ivory); color: #1a1a1a; }
  .ma__btn:hover { transform: translateY(-2px); }
  .ma__btn:focus-visible { outline: 2px solid var(--ma-ivory); outline-offset: 3px; }
  .ma__btn[disabled] { opacity: 0.28; cursor: default; transform: none; }

  /* ---------- movimento ---------- */
  @keyframes ma-hold {
    0%, 100% { transform: rotate(-0.3deg); }
    50%      { transform: rotate(0.3deg); }
  }
  .ma.is-inview .ma-slide.is-active .ma-holder { animation: ma-hold 7s ease-in-out infinite; }
  @keyframes ma-nudge {
    0%, 100% { transform: translateX(0); }
    50%      { transform: translateX(4px); }
  }
  .ma.is-inview .ma__hint svg { animation: ma-nudge 1.8s ease-in-out infinite; }

  /* entrada (só com JS ativo; sem JS tudo aparece) */
  .ma.js .ma-card__photo img,
  .ma.js .ma-card__title,
  .ma.js .ma-card__topics li {
    transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.6s ease;
  }
  .ma.js .ma-slide:not(.is-active) .ma-card__photo img { transform: translateY(10%); opacity: 0; }
  .ma.js .ma-slide:not(.is-active) .ma-card__title { transform: translateY(0.6em); opacity: 0; }
  .ma.js .ma-slide:not(.is-active) .ma-card__topics li { transform: translateY(6px); opacity: 0; }
  .ma.js .ma-slide.is-active .ma-card__photo img { transition-delay: 0.1s; }
  .ma.js .ma-slide.is-active .ma-card__title { transition-delay: 0.25s; }
  .ma.js .ma-slide.is-active .ma-card__topics li { transition-delay: calc(0.4s + var(--i, 0) * 35ms); }

  @media (prefers-reduced-motion: reduce) {
    .ma__track { scroll-behavior: auto; }
    .ma.is-inview .ma-slide.is-active .ma-holder,
    .ma.is-inview .ma__hint svg { animation: none; }
    .ma.js .ma-slide .ma-card__photo img,
    .ma.js .ma-slide .ma-card__title,
    .ma.js .ma-slide .ma-card__topics li { transform: none !important; opacity: 1 !important; transition: none; }
  }

  /* ---------- sem JavaScript: o swipe nativo continua; as setas não teriam ação ---------- */
  html:not(.js) .ma__nav { display: none; }
}
