/* ============================================================
   Site Dra. Ana Paula Alves — Estética Avançada e Integrativa
   Folha de estilos global: reset, tipografia de links, keyframes
   das animações, regras responsivas e estados :hover.
   Observação: o estilo de layout de cada elemento está inline
   no index.html (atributo style). As regras abaixo cobrem o que
   não pode ser inline (animações, media queries, hover).
   ============================================================ */

html { scroll-behavior: smooth; }
  body { margin: 0; background: #0B1D1B; }
  a { color: #D9C08D; text-decoration: none; }
  a:hover { color: #E8D5AA; }
  summary { list-style: none; cursor: pointer; }
  summary::-webkit-details-marker { display: none; }
  summary::marker { content: ''; }
  details[open] summary .apa-sign { transform: rotate(45deg); }
  details[open] summary { color: #D9C08D; }
  ::selection { background: #D9C08D; color: #0E211F; }
  @keyframes apa-reveal { from { opacity: 0; translate: 0 28px; } to { opacity: 1; translate: none; } }
  @keyframes apa-rise { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: none; } }
  @media (prefers-reduced-motion: reduce) {
    [data-hero-anim] { animation: none !important; opacity: 1 !important; transform: none !important; }
    [data-word], [data-blur], [data-lift], [data-sweep] { animation: none !important; opacity: 1 !important; filter: none !important; -webkit-text-fill-color: currentColor !important; }
  }
  :root { interpolate-size: allow-keywords; }
  details::details-content { block-size: 0; overflow: clip; transition: block-size 420ms cubic-bezier(0.2, 0.7, 0.2, 1), content-visibility 420ms; transition-behavior: allow-discrete; }
  details[open]::details-content { block-size: auto; }
  @keyframes apa-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes apa-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes apa-pulse {
    0%, 100% { box-shadow: 0 14px 34px rgba(0,0,0,0.5), 0 0 0 0 rgba(176,141,87,0.42); }
    55% { box-shadow: 0 14px 34px rgba(0,0,0,0.5), 0 0 0 14px rgba(176,141,87,0); }
  }
  @media (prefers-reduced-motion: no-preference) {
    [data-pulse] { animation: apa-pulse 4s ease-out 2.4s infinite; }
  }
  @keyframes apa-shrink { to { padding-top: 9px; padding-bottom: 9px; } }
  @keyframes apa-float { from { translate: 0 30px; } to { translate: 0 -30px; } }
  @keyframes apa-wipe { from { clip-path: inset(0 0 100% 0 round 20px); } to { clip-path: inset(0 round 20px); } }
  @keyframes apa-pop { from { opacity: 0; translate: 0 12px; scale: 0.88; } to { opacity: 1; translate: none; scale: 1; } }
  @keyframes apa-track { from { opacity: 0; letter-spacing: 0.52em; } to { opacity: 1; } }
  @keyframes apa-zoomout { from { scale: 1.16; } to { scale: 1; } }
  @keyframes apa-slow { from { translate: 0 44px; } to { translate: 0 -44px; } }
  @keyframes apa-maskx { from { clip-path: inset(0 100% 0 0); opacity: 0.35; } to { clip-path: inset(0 -3% 0 0); opacity: 1; } }
  @keyframes apa-heroout { to { opacity: 0.16; translate: 0 -64px; } }
  @keyframes apa-glow { from { translate: -7% 9%; } to { translate: 7% -9%; } }
  @keyframes apa-word { from { opacity: 0; translate: 0 0.5em; rotate: x -68deg; } to { opacity: 1; translate: none; rotate: none; } }
  @keyframes apa-blur { from { opacity: 0; filter: blur(9px); translate: 0 16px; } to { opacity: 1; filter: blur(0); translate: none; } }
  @keyframes apa-lift { from { opacity: 0; translate: 0 34px; scale: 0.982; } to { opacity: 1; translate: none; scale: 1; } }
  @keyframes apa-sweep { from { background-position: 210% 0; } to { background-position: -30% 0; } }
  @keyframes apa-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { [data-marquee-track] { animation: none !important; } }
  @media (prefers-reduced-motion: no-preference) {
    [data-anim-js] [data-reveal], [data-anim-js] [data-blur], [data-anim-js] [data-lift],
    [data-anim-js] [data-pop], [data-anim-js] [data-track], [data-anim-js] [data-wipe],
    [data-anim-js] [data-word], [data-anim-js] [data-draw], [data-anim-js] [data-sweep] { opacity: 0; }
    [data-anim-js] [data-maskx] { opacity: 0; }
    [data-anim-js] [data-maskx].apa-in { animation: apa-maskx 900ms cubic-bezier(0.2,0.7,0.2,1) both; }
    [data-anim-js] [data-draw] { opacity: 1; transform: scaleX(0); transform-origin: 0 50%; }
    [data-anim-js] [data-wipe] { opacity: 1; clip-path: inset(0 0 100% 0 round 20px); }
    [data-anim-js] [data-reveal].apa-in { animation: apa-reveal 820ms cubic-bezier(0.2,0.7,0.2,1) both; }
    [data-anim-js] [data-blur].apa-in { animation: apa-blur 900ms cubic-bezier(0.2,0.7,0.2,1) both; }
    [data-anim-js] [data-lift].apa-in { animation: apa-lift 980ms cubic-bezier(0.18,0.72,0.15,1) both; }
    [data-anim-js] [data-pop].apa-in { animation: apa-pop 640ms cubic-bezier(0.2,0.8,0.2,1) both; }
    [data-anim-js] [data-track].apa-in { animation: apa-track 820ms cubic-bezier(0.2,0.7,0.2,1) both; }
    [data-anim-js] [data-word].apa-in { animation: apa-word 760ms cubic-bezier(0.2,0.75,0.2,1) both; }
    [data-anim-js] [data-wipe].apa-in { animation: apa-wipe 900ms cubic-bezier(0.2,0.7,0.2,1) both; }
    [data-anim-js] [data-draw].apa-in { animation: apa-draw 700ms cubic-bezier(0.2,0.7,0.2,1) both; }
    [data-anim-js] [data-sweep].apa-in { opacity: 1; animation: apa-sweep 1400ms cubic-bezier(0.3,0.6,0.2,1) both; }
    [data-anim-js] [data-sweep] { background-image: linear-gradient(100deg, currentColor 0 42%, #D9C08D 50%, currentColor 58% 100%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
  }
  @media (prefers-reduced-motion: reduce) {
    [data-anim-js] [data-reveal], [data-anim-js] [data-blur], [data-anim-js] [data-lift],
    [data-anim-js] [data-pop], [data-anim-js] [data-track], [data-anim-js] [data-wipe],
    [data-anim-js] [data-word], [data-anim-js] [data-draw], [data-anim-js] [data-sweep] { opacity: 1; }
  }
  @media (prefers-reduced-motion: no-preference) {
    [data-progress] { transform: scaleX(var(--apa-scroll, 0)); }
    [data-shrink] { padding-top: calc(14px - 5px * var(--apa-shrink, 0)); padding-bottom: calc(14px - 5px * var(--apa-shrink, 0)); }
    [data-parallax] { translate: 0 calc(-30px + 60px * var(--apa-view, 0.5)); }
    [data-slowpar] { translate: 0 calc(-44px + 88px * var(--apa-view, 0.5)); }
    [data-glow] { translate: calc(-7% + 14% * var(--apa-view, 0.5)) calc(9% - 18% * var(--apa-view, 0.5)); }
    [data-zoomout] { scale: calc(1.16 - 0.16 * var(--apa-view, 1)); }
    [data-heroout] { opacity: calc(1 - 0.84 * var(--apa-exit, 0)); translate: 0 calc(-64px * var(--apa-exit, 0)); }
  }
  section[id] { scroll-margin-top: 96px; }
  @media (max-width: 1140px) {
    [data-nav] { display: none !important; }
    [data-shrink] { gap: 12px !important; flex-wrap: nowrap !important; }
    [data-navmobile] { display: flex !important; }
    [data-navmobile] > a { padding: 8px 14px !important; font-size: 10px !important; }
    [data-shrink] { padding-top: 10px !important; padding-bottom: 10px !important; }
    section[id] { scroll-margin-top: 126px; }
    [data-navmobile]::-webkit-scrollbar { display: none; }
  }
  @media (min-width: 641px) {
    [data-cta-short] { display: none; }
  }
  @media (max-width: 640px) {
    [data-cta-long] { display: none; }
    [data-hero-photo] { margin-left: auto !important; margin-right: auto !important; max-width: 100% !important; }
    [data-hero-photo] > span { inset: 14px -14px -14px 14px !important; }
    [data-logo-img] { height: 34px !important; max-width: 56vw !important; }
    [data-cta-header] { padding: 11px 16px !important; font-size: 11px !important; }
  }
  @media (max-width: 400px) {
    [data-pulse] { padding: 14px 18px !important; font-size: 10px !important; }
  }

/* ------------------------------------------------------------
   Estados :hover
   Cada elemento interativo do index.html carrega um atributo
   data-hv="hv-NN" que aponta para uma das regras abaixo.
   (!important é necessário para vencer o estilo inline.)
   ------------------------------------------------------------ */
[data-hv="hv-01"]:hover { opacity: 0.72 !important; }
[data-hv="hv-02"]:hover { opacity: 1 !important; }
[data-hv="hv-03"]:hover { color: #D9C08D !important; box-shadow: inset 0 -1px 0 #D9C08D !important; }
[data-hv="hv-04"]:hover { background: #FFFFFF !important; border-color: #FFFFFF !important; color: #0E211F !important; }
[data-hv="hv-05"]:hover { color: #D9C08D !important; border-color: #D9C08D !important; }
[data-hv="hv-06"]:hover { border-color: #D9C08D !important; background: rgba(217,192,141,0.16) !important; }
[data-hv="hv-07"]:hover { background: rgba(217,192,141,0.06) !important; transform: translateY(-6px) !important; box-shadow: 0 22px 46px rgba(0,0,0,0.35) !important; }
[data-hv="hv-08"]:hover { animation-play-state: paused !important; }
[data-hv="hv-09"]:hover { border-color: rgba(217,192,141,0.45) !important; background: rgba(217,192,141,0.05) !important; }
[data-hv="hv-10"]:hover { color: #D9C08D !important; transform: translateX(5px) !important; }
[data-hv="hv-11"]:hover { color: #F3EFE6 !important; transform: translateX(5px) !important; }
[data-hv="hv-12"]:hover { transform: scale(1.05) !important; }
[data-hv="hv-13"]:hover { background: #FFFFFF !important; color: #0E211F !important; }
[data-hv="hv-14"]:hover { transform: translateY(-6px) !important; box-shadow: 0 22px 46px rgba(0,0,0,0.35) !important; }
[data-hv="hv-15"]:hover { background: #FFFFFF !important; }
[data-hv="hv-16"]:hover { transform: translateX(5px) !important; }
[data-hv="hv-17"]:hover { background: #D9C08D !important; color: #0E211F !important; }
[data-hv="hv-18"]:hover { background: rgba(217,192,141,0.10) !important; border-color: rgba(217,192,141,0.5) !important; }
[data-hv="hv-19"]:hover { opacity: 0.62 !important; }
[data-hv="hv-20"]:hover { color: #FFFFFF !important; }
