/* Modo apresentação: um slide por tela, arrasta para o lado. Feito para mostrar no celular, na porta da empresa. */
body.pitch { margin: 0; height: 100dvh; overflow: hidden; background: var(--asfalto); }
.deck {
  display: flex; height: 100dvh; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
}
.deck::-webkit-scrollbar { display: none; }
.slide {
  flex: 0 0 100vw; height: 100dvh; scroll-snap-align: start; scroll-snap-stop: always;
  display: flex; flex-direction: column; justify-content: center; gap: 1.2rem;
  padding: 72px clamp(24px, 7vw, 96px) calc(96px + env(safe-area-inset-bottom, 0px));
  background: var(--pedra); color: var(--texto); overflow-y: auto;
}
.slide h1, .slide h2 { font-size: clamp(2.3rem, 9vw, 5rem); max-width: 14ch; }
.slide p { font-size: clamp(1.15rem, 3.6vw, 1.6rem); max-width: 30ch; color: var(--texto-2); margin: 0; }
.slide .inner { max-width: 980px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 1.2rem; }
.slide.cover { background: var(--asfalto) var(--wave) 0 0 / 120px 60px; color: #fff; justify-content: flex-end; }
.slide.cover .inner { background: var(--asfalto); padding: 1.6rem; border-radius: 24px; }
.slide.cover p { color: #c5ced8; }
.slide.cover .brand { font-family: var(--f-titulo); font-weight: 800; font-size: clamp(2.6rem, 13vw, 7rem); letter-spacing: .02em; line-height: 1; white-space: nowrap; }
.slide.cover .cover-logo { width: clamp(84px, 22vw, 140px); height: auto; display: block; }
.slide.dark { background: var(--asfalto); color: #fff; }
.slide.dark p { color: #c5ced8; }
.slide.sun { background: var(--sol); }
.slide.sun p { color: #3a3f2a; }
.chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.chips span { background: var(--papel); border-radius: 999px; padding: .6rem 1.1rem; font-weight: 700; font-size: clamp(1rem, 3vw, 1.25rem); }
.chips span:nth-child(1) { box-shadow: inset 6px 0 0 var(--oceano); }
.chips span:nth-child(2) { box-shadow: inset 6px 0 0 var(--verde-agua); }
.chips span:nth-child(3) { box-shadow: inset 6px 0 0 var(--sol-escuro); }
.qr-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; }
.qr-card { background: #fff; border-radius: 20px; padding: 14px; width: min(220px, 52vw); flex: none; }
.qr-card svg { display: block; width: 100%; height: auto; }
.qr-row .muted { color: inherit; opacity: .85; font-size: clamp(1.05rem, 3.2vw, 1.35rem); max-width: 22ch; }
.mini-plans { display: grid; gap: .6rem; width: 100%; max-width: 640px; }
.mini-plans div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; background: var(--papel); border-radius: 14px; padding: .9rem 1.1rem; }
.mini-plans b { font-family: var(--f-titulo); font-size: clamp(1.2rem, 4vw, 1.6rem); }
.mini-plans small { display: block; color: var(--texto-2); font-size: .92rem; }
.mini-plans strong { font-family: var(--f-titulo); font-size: clamp(1.1rem, 3.6vw, 1.5rem); white-space: nowrap; }
.mini-plans .hl { background: var(--asfalto); color: #fff; }
.mini-plans .hl small { color: #c5ced8; }
.big-actions { display: flex; flex-wrap: wrap; gap: .8rem; }

/* Controles fixos */
.pitch-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}
.pitch-bar > * { pointer-events: auto; }
.pitch-btn {
  width: 52px; height: 52px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer;
  background: var(--papel); color: var(--asfalto); box-shadow: 0 8px 20px -8px #0007;
}
.pitch-btn:disabled { opacity: .35; }
.dots { display: flex; gap: 7px; background: #1b2430b3; padding: 9px 12px; border-radius: 999px; }
.dots i { width: 8px; height: 8px; border-radius: 50%; background: #ffffff66; display: block; transition: width .2s ease; }
.dots i.on { background: var(--sol); width: 22px; border-radius: 99px; }
.pitch-close {
  position: fixed; top: calc(14px + env(safe-area-inset-top, 0px)); right: 16px; z-index: 10;
  background: #1b2430b3; color: #fff; text-decoration: none; font-weight: 700; font-size: .9rem;
  padding: .5rem .9rem; border-radius: 999px;
}
