/* ---- Canal · Alvorada ----
   Painel de detalhes dos 8 canais: o card Noite abre num painel Dia.
   Só transform / opacity / clip-path animam (via Web Animations no JS). */

/* tokens (escopo .ts-sheet; não alteram o :root da marca) */
.ts-sheet{--d-bg:#FDFBF6;--d-mat:#F7F2E8;--d-ink:#1A1612;--d-text:#3B342B;--d-ink2:#5E5546;--d-bronze:#8B7339;--d-bronze-ink:#6F5C2B;--d-gold:#C9A84C;--d-gold-l:#E4D4A0;--d-hair:rgba(139,115,57,.28);--d-line:#E8DFCC;--d-pill:#E1D6BD;--d-rule:rgba(26,22,18,.08);--e-sheet:cubic-bezier(.32,.72,0,1);--e-out:cubic-bezier(.16,1,.3,1);--mode:cols;color-scheme:light}
@media (prefers-contrast:more){.ts-sheet{--d-ink2:#3B342B;--d-hair:rgba(111,92,43,.6);--d-line:#BDAE88;--d-pill:#BDAE88}}

/* global */
html{scrollbar-gutter:stable}
html.ts-lock{overflow:hidden}

/* card (modo Noite) */
.ts-canal{cursor:pointer;-webkit-tap-highlight-color:transparent}
.ts-canal:active img{transform:scale(1.03);transition-duration:.12s;transition-timing-function:cubic-bezier(.2,0,0,1)}
.ts-canal:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.ts-canal:focus-visible img{transform:scale(1.06)}
.ts-canal:focus-visible .more{color:var(--gold-light)}
.ts-canal .more{position:relative;display:inline-block}
.ts-canal .more:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.ts-canal:hover .more:after,.ts-canal:focus-visible .more:after{transform:scaleX(1)}
.ts-canal.is-origin img,.ts-canal.is-origin .c-in,.ts-canal.is-origin:after{visibility:hidden}
.ts-canal:before{content:"";position:absolute;inset:0;z-index:1;border:1px solid var(--gold);border-radius:3px;opacity:0;pointer-events:none}
.ts-canal.ts-ember:before{animation:ts-ember .9s ease-out}
@keyframes ts-ember{0%{opacity:0}30%{opacity:.9}100%{opacity:0}}
.ts-clone{position:fixed;margin:0;border:0;aspect-ratio:auto;pointer-events:none;z-index:6}
.ts-clone:after{display:none}

/* dialog + scrim */
.ts-sheet{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--d-ink);overflow:hidden;overflow:clip;overscroll-behavior:contain;font-family:var(--body)}
.ts-sheet:not([open]){display:none}
.ts-sheet[open]{display:block}
.ts-sheet::backdrop{background:transparent}
.ts-scrim{position:absolute;inset:0;touch-action:none}
.ts-scrim i{position:absolute;inset:0;opacity:0}
.ts-scrim i:nth-child(1){-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}
.ts-scrim i:nth-child(2){background:radial-gradient(120% 90% at 50% 40%,rgba(26,22,18,.50),rgba(16,13,10,.74))}
@media (max-width:760px){.ts-scrim i:nth-child(1){-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ts-scrim i:nth-child(1){display:none}.ts-scrim i:nth-child(2){background:rgba(26,22,18,.78)}}
@media (prefers-reduced-transparency:reduce){.ts-scrim i:nth-child(1){display:none}.ts-scrim i:nth-child(2){background:rgba(26,22,18,.78)}}
html.ts-lite .ts-scrim i:nth-child(1){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* layout A: >=1001px (duas colunas) */
.ts-sheet{--ph:min(700px,calc(100vh - 64px));--ph:min(700px,calc(100dvh - 64px))}
.ts-panel{position:absolute;inset:0;margin:auto;width:min(calc(var(--ph)*.8 + 520px),calc(100% - 64px));height:var(--ph);display:grid;grid-template-columns:minmax(0,calc(var(--ph)*.8)) minmax(440px,1fr);grid-template-rows:auto minmax(0,1fr) auto;background:var(--d-bg);border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px rgba(26,22,18,.06),0 24px 48px -12px rgba(16,13,10,.38),0 80px 160px -40px rgba(16,13,10,.50)}
.ts-main{display:contents}
.ts-grab{display:none;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.ts-grab:focus-visible{outline:2px solid var(--d-bronze);outline-offset:-6px;border-radius:12px}
.ts-photo{grid-column:1;grid-row:1/-1;background:var(--d-mat);padding:12px;min-height:0}
.ts-bar{grid-column:2;grid-row:1}
.ts-scroll{grid-column:2;grid-row:2}
.ts-cta{grid-column:2;grid-row:3}
.ts-frame{position:relative;height:100%;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px var(--d-hair);background:#EFE7DC;user-select:none;cursor:pointer}
.ts-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ts-track::-webkit-scrollbar{display:none}
.ts-slide{flex:0 0 100%;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--pos,50% 42%);scroll-snap-align:start}
.ts-frame.is-flying .ts-track{visibility:hidden}
.ts-veil{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--pos,50% 42%);z-index:1}
.ts-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:2;display:flex;padding:0 6px;border-radius:999px;background:rgba(253,251,246,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ts-dots button{position:relative;width:44px;height:26px;display:grid;place-items:center;border:0;background:none;padding:0;cursor:pointer}
.ts-dots button:before{content:"";position:absolute;inset:-9px 0}
.ts-dots i{display:block;width:28px;height:3px;border-radius:2px;background:rgba(26,22,18,.28);transition:transform .2s var(--e-out)}
.ts-dots [aria-current="true"] i{background:var(--d-ink)}
.ts-dots button:hover i{transform:scaleY(1.67)}

/* cabeçalho */
.ts-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:76px;padding:32px 48px 0 44px;box-sizing:border-box}
.ts-bar:after{content:"";position:absolute;left:44px;right:48px;bottom:0;height:1px;background:var(--d-rule);opacity:0;transition:opacity .16s}
.ts-bar.is-scrolled:after{opacity:1}
.ts-count{flex:none;white-space:nowrap;font:500 11px/1 InterTS,system-ui,sans-serif;letter-spacing:.2em;color:var(--d-ink2);font-variant-numeric:tabular-nums}
.ts-count b{display:inline-block;font:400 15px/1 Fraunces,Georgia,serif;letter-spacing:0;color:var(--d-bronze-ink)}
.ts-const ol{display:flex;margin:0;padding:0;list-style:none;position:relative}
.ts-const ol:before{content:"";position:absolute;left:12px;right:12px;top:50%;height:1px;background:var(--d-hair)}
.ts-const button{position:relative;width:24px;height:44px;display:grid;place-items:center;border:0;background:none;padding:0;cursor:pointer}
.ts-const i{position:relative;width:7px;height:7px;transform:rotate(45deg);background:var(--d-bg);border:1px solid var(--d-bronze);transition:transform .2s var(--e-out)}
.ts-const i:after{content:"";position:absolute;inset:-1px;background:var(--d-gold);opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s var(--e-out)}
.ts-const [aria-current="true"] i{transform:rotate(45deg) scale(1.5);border-color:var(--d-gold)}
.ts-const [aria-current="true"] i:after{opacity:1;transform:none}
.ts-const{display:none}
@media (min-width:1001px) and (min-height:561px){.ts-const{display:block}}
/* a coluna 2 só mede 493px+ (contador + constelação + controles) a partir de ~1130px de viewport */
@media (min-width:1001px) and (max-width:1130px){.ts-const{display:none}}
.ts-ctl{display:flex;gap:8px}
.ts-b{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid var(--d-hair);background:transparent;color:var(--d-ink);display:grid;place-items:center;padding:0;cursor:pointer;transition:background-color .16s,transform .09s}
.ts-b:before{content:"";position:absolute;inset:-4px}
.ts-b svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ts-b:hover{background:rgba(139,115,57,.08)}
.ts-b:active{transform:scale(.94)}
.ts-b:focus-visible,.ts-const button:focus-visible,.ts-dots button:focus-visible,.ts-sheet a.ts-alt:focus-visible{outline:2px solid var(--d-bronze);outline-offset:3px}

/* corpo */
.ts-scroll{position:relative;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:20px 48px 8px 44px;scrollbar-width:thin;scrollbar-color:var(--d-pill) transparent}
.ts-scroll.is-overflow{-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),transparent);mask-image:linear-gradient(#000 calc(100% - 24px),transparent)}
.ts-gnum{position:absolute;top:-4px;right:40px;z-index:0;pointer-events:none;font:200 clamp(128px,22vh,200px)/.8 'Stack Sans Headline',Fraunces,Georgia,serif;letter-spacing:-.02em;color:rgba(139,115,57,.10);font-variant-numeric:tabular-nums}
.ts-scroll>*:not(.ts-gnum){position:relative;z-index:1}
.ts-kick{display:flex;align-items:center;gap:12px;margin:0}
.ts-pill{font:500 10px/1 InterTS,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--d-bronze-ink);border:1px solid var(--d-pill);border-radius:999px;padding:5px 11px}
.ts-role{font:500 10.5px/1 InterTS,system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--d-bronze-ink)}
#ts-t{margin:16px 0 0;font:400 clamp(28px,2.5vw,36px)/1.1 Fraunces,Georgia,serif;letter-spacing:-.01em;color:var(--d-ink);text-wrap:balance;outline:none}
.ts-phrase{margin:10px 0 0;font:italic 400 clamp(17px,1.4vw,19px)/1.4 Fraunces,Georgia,serif;color:var(--d-bronze-ink)}
.ts-fio{display:block;height:1px;margin:20px 0;background:rgba(201,168,76,.55);transform-origin:left}
.ts-obj{margin:0;font:400 15px/1.6 InterTS,system-ui,sans-serif;color:var(--d-text);max-width:44ch}
.ts-lbl{margin:22px 0 10px;font:500 11px/1 InterTS,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--d-bronze-ink)}
.ts-list{margin:0;padding:0;list-style:none}
.ts-list li{position:relative;padding-left:20px;margin:0 0 10px;font:400 14.5px/1.45 InterTS,system-ui,sans-serif;color:var(--d-text)}
.ts-list li[hidden]{display:none}
.ts-list li:before{content:"◆";content:"◆" / "";position:absolute;left:0;top:.42em;font-size:7px;line-height:1;color:var(--d-gold)}
.ts-para{margin:0;font:400 13.5px/1.5 InterTS,system-ui,sans-serif;color:var(--d-ink2)}
.ts-nota{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--d-line);font:italic 400 13px/1.5 Fraunces,Georgia,serif;color:var(--d-ink2)}
.ts-nota:before{content:"· "}
.ts-nota[hidden]{display:none}

/* rodapé de conversão */
.ts-cta{padding:14px 48px 28px 44px;border-top:1px solid var(--d-rule);background:var(--d-bg)}
.ts-sheet a.ts-wa{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;width:100%;height:60px;padding:0 20px;box-sizing:border-box;background:#1A1612;color:#FDFBF6;border:1px solid #1A1612;border-radius:2px;box-shadow:0 12px 28px -14px rgba(26,22,18,.55);text-decoration:none;transition:transform .08s}
.ts-wa>*{position:relative;z-index:1}
.ts-wag{flex:none;color:var(--d-gold-l);transition:color .2s}
.ts-div{flex:none;width:1px;height:28px;background:rgba(253,251,246,.18)}
.ts-wat{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;text-align:left}
.ts-wat b{font:500 14px/1.1 InterTS,system-ui,sans-serif;letter-spacing:.06em}
.ts-wat small{font:400 11px/1 InterTS,system-ui,sans-serif;letter-spacing:.08em;color:var(--d-gold-l);transition:color .2s}
.ts-arr{flex:none;color:var(--d-gold-l);transition:transform .2s var(--e-out),color .2s}
.ts-wa:before{content:"";position:absolute;inset:0;z-index:0;background:var(--d-gold);transform:scaleX(0);transform-origin:left;transition:transform .42s var(--e-out)}
@media (hover:hover){
  .ts-sheet a.ts-wa:hover{color:#1A1612}
  .ts-wa:hover:before{transform:scaleX(1)}
  .ts-wa:hover .ts-wag,.ts-wa:hover small,.ts-wa:hover .ts-arr{color:#1A1612}
  .ts-wa:hover .ts-arr{transform:translateX(4px)}
}
.ts-wa:active{transform:translateY(1px) scale(.992)}
.ts-wa:focus-visible{outline:2px solid var(--d-bronze);outline-offset:3px}
.ts-micro{display:none;margin:10px 0 0;font:400 12px/1.4 InterTS,system-ui,sans-serif;color:var(--d-ink2)}
@media (min-height:760px){.ts-micro{display:block}}
.ts-sheet a.ts-alt{display:inline-block;margin-top:10px;font:400 13px/1.2 InterTS,system-ui,sans-serif;color:var(--d-bronze-ink);text-decoration:underline;text-decoration-color:var(--d-hair);text-underline-offset:4px;text-decoration-thickness:1px}
.ts-sheet a.ts-alt:hover{text-decoration-thickness:1.5px}
.ts-sheet a.ts-alt.ts-alt-end{display:none}
.ts-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ghost (voo) */
.ts-ghost{position:fixed;z-index:5;transform-origin:0 0;pointer-events:none;contain:strict}
.ts-ghost>*{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;display:block}
.ts-ghost .shade{background:linear-gradient(180deg,rgba(16,13,10,.15) 30%,rgba(16,13,10,.92))}
.ts-ghost .r{background:#C9A84C}

/* layout B: 761-1000px (modal empilhado) */
@media (max-width:1000px){
  .ts-sheet{--mode:stack}
  .ts-panel{width:min(600px,calc(100% - 48px));height:min(86vh,820px);height:min(86dvh,820px);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}
  .ts-photo{grid-column:1;grid-row:1;height:clamp(260px,38vh,380px);height:clamp(260px,38dvh,380px)}
  .ts-bar{grid-column:1;grid-row:1;position:relative;z-index:3;height:0;padding:0;margin:0;display:block}
  .ts-bar:after{display:none}
  .ts-scroll{grid-column:1;grid-row:2;padding:20px 28px 8px}
  .ts-cta{grid-column:1;grid-row:3;padding:14px 28px 20px}
  #ts-t{font-size:32px}
  .ts-gnum{font-size:120px;right:20px}
  .ts-count,.ts-ctl{position:absolute;top:22px}
  .ts-count{left:22px;display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;background:rgba(253,251,246,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .ts-count b{margin-right:.4em}
  .ts-ctl{right:22px}
  .ts-ctl .ts-b{background:rgba(253,251,246,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.6)}
}
@media (prefers-reduced-transparency:reduce){.ts-count,.ts-ctl .ts-b,.ts-dots,.ts-cta{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--d-bg)}}

/* layout C: <=760px (bottom-sheet) */
@media (max-width:760px){
  .ts-sheet{--mode:sheet;--H:calc(100vh - max(env(safe-area-inset-top),12px) - 4px);--H:calc(100dvh - max(env(safe-area-inset-top),12px) - 4px)}
  .ts-panel{position:absolute;inset:0;width:auto;height:auto;margin:0;display:block;background:none;border-radius:0;box-shadow:none;overflow:visible;pointer-events:none}
  .ts-main{position:absolute;left:0;right:0;bottom:0;height:var(--H);display:flex;flex-direction:column;pointer-events:auto;background:var(--d-bg);border-radius:16px 16px 0 0;box-shadow:0 -20px 60px -20px rgba(16,13,10,.5);padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);overflow:hidden;overflow:clip}
  .ts-grab{display:block;position:relative;flex:none;height:44px;touch-action:none;cursor:grab}
  .ts-grab i{position:absolute;left:50%;top:8px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:rgba(26,22,18,.20)}
  .ts-bar{position:absolute;left:10px;right:10px;top:30px;z-index:3;height:44px;padding:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
  .ts-bar>*{pointer-events:auto;position:static}
  .ts-count{position:static;height:36px;font-size:11px}
  .ts-ctl{position:static}
  .ts-photo{flex:none;height:clamp(224px,34vh,320px);height:clamp(224px,34dvh,320px);margin:0 10px;padding:0;background:none;touch-action:pan-x}
  .ts-scroll{flex:1;min-height:0;padding:18px 20px calc(112px + env(safe-area-inset-bottom));scroll-padding-bottom:120px;touch-action:pan-y;-webkit-mask-image:none;mask-image:none}
  .ts-main[data-detent="med"] .ts-scroll{overflow:hidden;overflow:clip;touch-action:none}
  #ts-t{font-size:28px;margin-top:12px}
  .ts-phrase{font-size:17px}
  .ts-gnum{display:none}
  .ts-lbl{margin-top:20px}
  .ts-cta{position:absolute;left:0;right:0;bottom:0;pointer-events:auto;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(253,251,246,.88);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-top:1px solid var(--d-rule);transform:translateY(var(--cta-y,0px))}
  .ts-sheet a.ts-wa{height:56px}
  .ts-micro{display:none}
  .ts-cta a.ts-alt{display:none}
  .ts-sheet .ts-scroll a.ts-alt.ts-alt-end{display:inline-block;margin-top:20px}
}

/* layout D: paisagem baixa */
@media (orientation:landscape) and (max-height:560px){
  .ts-sheet{--mode:cols}
  .ts-panel{position:absolute;inset:0;margin:auto;width:min(960px,calc(100% - 24px));height:calc(100dvh - 16px);display:grid;grid-template-columns:38% minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;background:var(--d-bg);border-radius:8px;overflow:hidden;pointer-events:auto;box-shadow:0 24px 48px -12px rgba(16,13,10,.38)}
  .ts-main{display:contents;position:static}
  .ts-grab{display:none}
  .ts-photo{grid-column:1;grid-row:1/-1;height:auto;margin:0;padding:12px;background:var(--d-mat)}
  .ts-bar{position:relative;grid-column:2;grid-row:1;left:auto;right:auto;top:auto;height:60px;padding:12px 24px 0;pointer-events:auto;display:flex}
  .ts-count,.ts-ctl{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .ts-ctl .ts-b{background:transparent;border-color:var(--d-hair)}
  .ts-const{display:none}
  .ts-scroll{grid-column:2;grid-row:2;padding:12px 24px 8px;overflow-y:auto;touch-action:auto}
  .ts-cta{position:static;grid-column:2;grid-row:3;padding:10px 24px 14px;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .ts-sheet a.ts-wa{height:52px}
  .ts-cta a.ts-alt{display:inline-block}
  .ts-sheet .ts-scroll a.ts-alt.ts-alt-end{display:none}
}

/* movimento, contraste, cor forçada */
@media (prefers-reduced-motion:reduce){
  .ts-canal .more:after,.ts-wa:before,.ts-wa,.ts-arr,.ts-b,.ts-dots i,.ts-const i,.ts-const i:after{transition:none}
  .ts-canal.ts-ember:before{animation:none}
  .ts-canal img{transition:none}
}
@media (forced-colors:active){
  .ts-panel,.ts-main{border:1px solid CanvasText}
  .ts-sheet a.ts-wa{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}
  .ts-wa:before{display:none}
  .ts-scrim i{background:Canvas;opacity:.85}
  .ts-pill,.ts-b{border-color:CanvasText}
  .ts-const i,.ts-dots i{background:CanvasText;border-color:CanvasText}
  .ts-dots [aria-current="true"] i{background:Highlight}
  .ts-const [aria-current="true"] i{background:Highlight;border-color:Highlight}
  .ts-const i:after{display:none}
  .ts-gnum{display:none}
  .ts-wag,.ts-arr{color:ButtonText}
}
