/* Estilos desta área. */

@font-face {
  font-family: Manrope;
  src: url("../fonts/manrope-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url("../fonts/manrope-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url("../fonts/manrope-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url("../fonts/manrope-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url("../fonts/manrope-800.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  --primary: #ff474d;
  --primary-dark: #dc2832;
  --ink: #121923;
  --muted: #626b7a;
  --border: #e6e9ee;
  --surface: #f2f4f6;
  --player-height: 120px;
  --radius: 14px;
  --max-width: 1280px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-padding-top: calc(var(--player-height) + 20px);
}

body {
  margin: 0;
  padding-top: var(--player-height);
  font-family:var(--font-body,Manrope, Arial, sans-serif);
  color: var(--ink);
  background: #fff;
  line-height: 1.6;
  font-size:calc(15px * var(--text-scale,1));
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

button,
a {
  touch-action: manipulation;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1,
h2,
h3 {
  line-height: 1.22;
  letter-spacing: -0.045em;
}

h1 {
  font-weight: 800;
}

h2 {
  font-size:calc(30px * var(--text-scale,1));
  font-weight: 800;
}

h3 {
  font-size:calc(20px * var(--text-scale,1));
  font-weight: 800;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #ff8b90;
  outline-offset: 4px;
}

button:disabled {
  cursor: wait;
  opacity: 0.65;
}

[hidden] {
  display: none !important;
}

.container {
  width: min(var(--max-width), calc(100% - 64px));
  margin-inline: auto;
}

.icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.svg-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  background: #fff;
  padding: 12px 20px;
  z-index: 200;
}

.skip-link:focus {
  top: 12px;
}

.icon-button {
  border: 0;
  background: transparent;
  padding: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition:
    background 0.18s,
    color 0.18s;
}

.icon-button:hover {
  background: #fff1f2;
  color: var(--primary-dark);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-weight: 700;
  font-size:calc(14px * var(--text-scale,1));
  padding: 14px 21px;
  min-height: 48px;
  border-radius: 10px;
  border: 1px solid transparent;
  transition:
    background 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary {
  background: var(--primary);
  color: #fff;
}

.button-primary:hover {
  background: var(--primary-dark);
  box-shadow: 0 6px 18px #ff474d25;
}

.button-outline {
  border-color: var(--primary);
  color: var(--primary-dark);
  background: transparent;
}

.button-outline:hover {
  background: #fff0f1;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--primary-dark);
  font-size:calc(13px * var(--text-scale,1));
  font-weight: 600;
}

.text-link:hover {
  text-decoration: underline;
}

.text-link .icon {
  width: 19px;
  height: 19px;
}

.eyebrow {
  display: block;
  color: var(--primary);
  letter-spacing: 0.24em;
  font-size:calc(11px * var(--text-scale,1));
  font-weight: 800;
}

.live-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary);
  font-size:calc(12px * var(--text-scale,1));
  font-weight: 800;
  letter-spacing: 0.02em;
}

.live-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--primary);
  flex-shrink: 0;
}

.content-badge {
  background: #edf0f3;
  border-radius: 6px;
  color: #687181;
  display: inline-block;
  padding: 4px 9px;
  font-size:calc(9px * var(--text-scale,1));
  font-weight: 600;
  letter-spacing: 0.03em;
}

.main-content {
  min-height: 440px;
  padding-bottom: 26px;
  outline: none;
}

.host-photo {
  border-radius: 50%;
  width: 146px;
  height: 146px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  box-shadow: 0 0 0 5px #fff1f1;
}

.host-ana {
  background-image: url("../img/hero-radio.png");
  background-size: auto 185%;
  background-position: 77% 13%;
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 20px;
}

/* Títulos compartilhados pelos temas. */
.heading-with-icon {
  display: flex;
  align-items: flex-start;
  gap: .38em;
  min-width: 0;
}
.heading-with-icon > .icon {
  width: .82em;
  height: .82em;
  margin-top: .18em;
  flex: 0 0 auto;
}
.heading-with-icon > span { min-width: 0; overflow-wrap: anywhere; }
.section-heading-icons { flex-wrap: wrap; }
.section-heading-icons > .text-link { flex-shrink: 0; }
.poll-card .widget-kicker.poll-title {
  font-size:calc(20px * var(--text-scale,1));
  letter-spacing: -.025em;
  gap: 9px;
  line-height: 1.3;
}
.poll-card .poll-title > .icon { width: 20px; height: 20px; }

.host-pedro {
  background-image: url("../img/pedro.jpg");
}

.host-luana {
  background-image: url("../img/luana.jpg");
}

.host-music {
  display: grid;
  place-items: center;
  color: var(--primary);
  background: #ffe5e6;
}

.host-music .icon {
  width: 34px;
  height: 34px;
}

.page-heading {
  padding: 27px 0 36px;
}

.page-heading h1 {
  font-size:calc(46px * var(--text-scale,1));
  margin: 14px 0 12px;
}

.page-heading p {
  color: var(--muted);
  font-size:calc(17px * var(--text-scale,1));
}

.page-heading .content-badge {
  margin-top: 15px;
}

.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  max-width: min(500px, calc(100% - 32px));
  background: #202831;
  color: #fff;
  border-radius: 10px;
  padding: 14px 21px;
  box-shadow: 0 10px 35px #0002;
  font-size:calc(13px * var(--text-scale,1));
  z-index: 150;
}

.route-loading {
  opacity: 0.6;
  pointer-events: none;
}

.route-error {
  padding: 45px;
  background: var(--surface);
  border-radius: 14px;
}

.route-error p {
  margin: 15px 0 25px;
}

.noscript {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px;
  background: #ffeac6;
  text-align: center;
  z-index: 120;
}

@media (max-width: 1150px) {
  .container {
    width: calc(100% - 48px);
  }
  .host-photo {
    width: 128px;
    height: 128px;
  }
}

@media (max-width: 950px) {
  .section-heading h2 {
    font-size:calc(26px * var(--text-scale,1));
  }
}

@media (max-width: 760px) {
  :root {
    --player-height: 106px;
  }
  .container {
    width: calc(100% - 36px);
  }
  .section-heading {
    gap: 10px;
    margin-bottom: 16px;
  }
  .section-heading h2 {
    font-size:calc(25px * var(--text-scale,1));
  }
  .text-link {
    font-size:calc(11px * var(--text-scale,1));
    gap: 5px;
  }
  .text-link .icon {
    width: 16px;
    height: 16px;
  }
  .page-heading {
    padding: 18px 0 28px;
  }
  .page-heading h1 {
    font-size:calc(36px * var(--text-scale,1));
  }
  .page-heading p {
    font-size:calc(15px * var(--text-scale,1));
  }
  .page-heading .eyebrow {
    font-size:calc(9px * var(--text-scale,1));
  }
}

@media (max-width: 440px) {
  .container {
    width: calc(100% - 28px);
  }
  .section-heading h2 {
    font-size:calc(24px * var(--text-scale,1));
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Avisos breves e confirmações de formulários: padrão comum aos quatro temas. */
.toast{background:#102e43;color:#f4fbff;border:1px solid #427d9a;border-left:5px solid #74d2ed;border-radius:12px;padding:17px 22px 21px;font-weight:600;line-height:1.6;overflow:hidden;box-shadow:0 8px 28px #061b3440}
.toast::after,.form-result.feedback-visible::after{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;background:currentColor;opacity:.45;transform-origin:left center}
.feedback-visible::after{animation:feedback-countdown 3s linear forwards}.feedback-visible{animation:feedback-enter .18s ease-out}
.form-result.feedback-visible{position:relative;overflow:hidden;background:#e5f7ed;color:#145c39;border:1px solid #4ba978;border-left:5px solid #188455;border-radius:12px;padding:17px 20px 21px;font-weight:600;box-shadow:0 5px 16px #15805218}
:root[data-theme=dark] .form-result.feedback-visible{background:#173d30;color:#c4f6dc;border-color:#388360;border-left-color:#66dba3}
.toast[hidden],.form-result[hidden]{display:none!important}
@keyframes feedback-countdown{to{transform:scaleX(0)}}@keyframes feedback-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.feedback-visible,.feedback-visible::after{animation:none}.toast::after,.form-result.feedback-visible::after{display:none}}
