/* ==========================================================================
   Rádio Cidade 100.1 — estilos
   Medidas extraídas do Figma (frame de 1920px). A unidade --u vale 1px em
   1920px e diminui proporcionalmente em telas menores; os max() garantem
   tamanhos mínimos legíveis.
   ========================================================================== */

@font-face { font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/poppins-latin-300-normal.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/poppins-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/poppins-latin-400-italic.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/poppins-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/poppins-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/poppins-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/poppins-latin-800-normal.woff2) format("woff2"); }

:root {
	--u: min(1px, calc(100vw / 1920));

	/* Cores do projeto */
	--c-ink: #353535;
	--c-text: #353535;
	--c-muted: #9f9f9f;
	--c-line: #d9d9d9;
	--c-link: #62a5f8;
	--c-ad: #484848;
	--c-purple: #931cd7;
	--c-violet: #a000df;
	--c-pink: #e9337d;
	--c-orange: #f3aa3c;
	--c-yellow: #edbf47;
	--c-logo-pink: #d7385a;
	--c-footer: #3b0072;
	--c-play-bg: #f5cee6;
	--grad-player: linear-gradient(90deg, #a922f5 0%, #b425e1 30%, #c82bb7 52%, #e2318c 78%, #e9337d 100%);

	/* Larguras */
	/* Larguras do Figma (frame 1920): conteúdo 1630, destaques/player 1470,
	   rodapé 1340. Acima de 1100px as margens laterais acompanham a proporção
	   do projeto; abaixo disso, margem fixa de 16–24px. */
	--cw: 1630px;
	--cn: 1470px;
	--cf: 1340px;
	--gutter: 16px;
	/* largura efetiva do container principal e posição da sua borda esquerda */
	--wide: min(100vw - 2 * var(--gutter), var(--cw));
	--edge: calc((100vw - var(--wide)) / 2);

	--font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--bar-h: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 20px; }
body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.5;
	color: var(--c-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 3px solid var(--c-pink); outline-offset: 2px; }

.screen-reader-text, .rc-skip:not(:focus) {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.rc-skip:focus { position: fixed; z-index: 1000; top: 8px; left: 8px; background: #fff; color: var(--c-ink); padding: 10px 16px; border-radius: 6px; }

@media (min-width: 641px) { :root { --gutter: 24px; } }
@media (min-width: 1101px) {
	:root { --cw: calc(1630 * var(--u)); --cn: calc(1470 * var(--u)); --cf: calc(1340 * var(--u)); }
}
.rc-wide { width: min(100% - 2 * var(--gutter), var(--cw)); margin-inline: auto; }
.rc-narrow { width: min(100% - 2 * var(--gutter), var(--cn)); margin-inline: auto; }

.rc-ico { width: 1em; height: 1em; flex: none; }

/* ==========================================================================
   Cabeçalho
   ========================================================================== */
.rc-header {
	position: relative;
	z-index: 50;
	color: #fff;
	background:
		radial-gradient(ellipse 34% 140% at 0% 100%, rgba(120, 18, 120, .45), transparent 70%),
		linear-gradient(90deg, #4e0a66 0%, #3b0670 22%, #3d0686 38%, #4b0998 58%, #44088f 75%, #33046a 100%);
}
.rc-header__glow {
	position: absolute; inset: 0; pointer-events: none; overflow: hidden;
}
.rc-header__glow::before, .rc-header__glow::after { content: ""; position: absolute; }
/* "cometa" de luz atrás do logo, como no projeto */
.rc-header__glow::before {
	left: -200px;
	top: 50%;
	width: calc(var(--edge) + max(118px, calc(158 * var(--u))) + max(16px, calc(30 * var(--u))) + 157px + 200px);
	height: calc(60 * var(--u));
	min-height: 34px;
	transform: translateY(-62%) rotate(-3deg);
	transform-origin: right center;
	background: linear-gradient(90deg, transparent 0%, rgba(150, 40, 150, .25) 45%, rgba(190, 70, 210, .5) 92%, transparent 100%);
	filter: blur(10px);
	border-radius: 50%;
}
.rc-header__glow::after {
	left: calc(var(--edge) + max(118px, calc(158 * var(--u))) + max(16px, calc(30 * var(--u))) + 144px);
	top: calc(50% - 21px);
	width: calc(26 * var(--u)); height: calc(26 * var(--u));
	min-width: 16px; min-height: 16px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(170, 70, 255, .9) 0%, rgba(140, 40, 220, .55) 45%, transparent 72%);
	filter: blur(1.5px);
}

.rc-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: max(70px, calc(103 * var(--u)));
	gap: max(16px, calc(30 * var(--u)));
}
.rc-logo { display: block; flex: none; line-height: 0; }
.rc-logo__img { display: block; width: max(118px, calc(158 * var(--u))); height: auto; }

/* Previsão do tempo */
.rc-weather {
	position: relative;
	display: flex; align-items: center; gap: 10px;
	padding: 6px 14px 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	line-height: 1.1;
	cursor: default;
	white-space: nowrap;
}
.rc-weather[hidden] { display: none; }
.rc-weather__icon { width: 30px; height: 30px; flex: none; }
.rc-weather__icon svg { width: 100%; height: 100%; }
.rc-weather__text { display: grid; }
.rc-weather__temp { font-size: 19px; font-weight: 600; }
.rc-weather__city { font-size: 11px; font-weight: 300; opacity: .85; }
.rc-weather__tip {
	position: absolute; left: 0; top: calc(100% + 10px);
	min-width: 220px;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fff; color: var(--c-ink);
	box-shadow: 0 12px 30px rgba(40, 0, 80, .25);
	font-size: 13px; line-height: 1.5; white-space: normal;
	opacity: 0; visibility: hidden; transform: translateY(-4px);
	transition: .18s ease;
	z-index: 60;
}
.rc-weather__tip strong { display: block; font-size: 14px; color: var(--c-purple); }
.rc-weather:hover .rc-weather__tip, .rc-weather:focus-within .rc-weather__tip { opacity: 1; visibility: visible; transform: none; }

/* Menu */
.rc-menu { display: flex; align-items: center; flex: 1; min-width: 0; gap: max(16px, calc(40 * var(--u))); }
.rc-nav { flex: 1; display: flex; justify-content: center; }
.rc-nav__list { display: flex; align-items: center; gap: max(22px, calc(62 * var(--u))); }
.rc-nav__list > li { position: relative; }
.rc-nav__list > li > a {
	display: flex; align-items: center; gap: max(8px, calc(15 * var(--u)));
	padding: 14px 0;
	font-size: max(16px, calc(28 * var(--u)));
	font-weight: 300;
	letter-spacing: .01em;
	white-space: nowrap;
	transition: opacity .15s;
}
.rc-nav__list > li > a:hover { opacity: .85; }
.rc-nav__caret { width: max(16px, calc(24 * var(--u))); height: max(16px, calc(24 * var(--u))); --rc-icon-cut: #45088f; transition: transform .2s; }
.rc-nav__list > li:hover .rc-nav__caret, .rc-nav__list > li:focus-within .rc-nav__caret { transform: rotate(180deg); }
.rc-nav .sub-menu {
	position: absolute; left: 50%; top: calc(100% - 4px);
	min-width: 230px;
	padding: 10px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(40, 0, 80, .28);
	transform: translate(-50%, 6px);
	opacity: 0; visibility: hidden;
	transition: .18s ease;
}
.rc-nav .sub-menu::before { content: ""; position: absolute; left: 50%; top: -6px; width: 14px; height: 14px; background: #fff; transform: translateX(-50%) rotate(45deg); border-radius: 2px; }
.rc-nav li:hover > .sub-menu, .rc-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.rc-nav .sub-menu a { position: relative; display: block; padding: 9px 14px; border-radius: 8px; color: var(--c-ink); font-size: 15px; font-weight: 500; }
.rc-nav .sub-menu a:hover { background: #f6eefc; color: var(--c-purple); }

/* Busca */
.rc-search { position: relative; display: flex; align-items: center; flex: none; }
.rc-header .rc-search { width: max(190px, calc(235 * var(--u))); }
.rc-search__input {
	width: 100%;
	height: max(36px, calc(40 * var(--u)));
	padding: 0 40px 0 10px;
	border: 0; border-radius: 3px;
	background: #fff; color: var(--c-ink);
	font-size: max(15px, calc(20 * var(--u)));
	font-weight: 400;
	-webkit-appearance: none; appearance: none;
}
.rc-search__input::placeholder { color: #9a9a9a; }
.rc-search__input::-webkit-search-cancel-button { display: none; }
.rc-search__btn {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	display: grid; place-items: center;
	width: 32px; height: 32px; border: 0; background: none; color: #111;
	font-size: 19px;
}

.rc-burger { display: none; }

/* ==========================================================================
   Player
   ========================================================================== */
.rc-player-slot { position: relative; z-index: 40; }
.rc-player {
	--pad: max(16px, calc(27 * var(--u)));
	position: relative;
	display: flex; align-items: center;
	gap: max(14px, calc(24 * var(--u)));
	color: #fff;
	background: var(--grad-player);
	box-shadow: 0 10px 30px rgba(150, 30, 160, .18);
}
.rc-player__cover {
	position: relative; flex: none; overflow: hidden;
	background: linear-gradient(135deg, #5a0d9e, #a922f5);
}
.rc-player__cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .3s; }
.rc-player__cover img.is-fallback { object-fit: contain; padding: 14%; }
.rc-player__info { flex: 1; min-width: 0; display: grid; }
.rc-player__live { display: none; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.rc-player__live i { width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.rc-player[data-state="playing"] .rc-player__live i { animation: rc-pulse 1.4s ease-in-out infinite; }
@keyframes rc-pulse { 50% { opacity: .25; } }
.rc-player__title, .rc-player__artist { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-player__title { font-weight: 700; text-transform: uppercase; letter-spacing: .005em; }
.rc-player__artist { font-weight: 400; }
.rc-player__controls { display: flex; align-items: center; gap: max(10px, calc(18 * var(--u))); flex: none; }
.rc-player__play {
	position: relative; display: grid; place-items: center;
	border: 0; border-radius: 50%;
	background: var(--c-play-bg); color: var(--c-purple);
	transition: transform .15s ease, box-shadow .15s ease;
}
.rc-player__play:hover { transform: scale(1.05); box-shadow: 0 6px 20px rgba(80, 0, 90, .25); }
.rc-player__play .rc-ico { width: 42%; height: 42%; }
.rc-player__play .rc-i-play { margin-left: 7%; }
.rc-player .rc-i-pause, .rc-player .rc-spinner { display: none; }
.rc-player[data-state="playing"] .rc-i-play { display: none; }
.rc-player[data-state="playing"] .rc-i-pause { display: block; }
.rc-player[data-state="loading"] .rc-i-play { opacity: 0; }
.rc-player[data-state="loading"] .rc-spinner {
	display: block; position: absolute; inset: 22%;
	border: 3px solid rgba(147, 28, 215, .25); border-top-color: var(--c-purple);
	border-radius: 50%; animation: rc-spin .8s linear infinite;
}
@keyframes rc-spin { to { transform: rotate(360deg); } }

.rc-vol { position: relative; }
.rc-vol__btn {
	display: grid; place-items: center;
	border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .4); color: #fff;
	transition: background .15s;
}
.rc-vol__btn:hover { background: rgba(255, 255, 255, .55); }
.rc-vol__btn .rc-ico { width: 58%; height: 58%; }
.rc-vol .rc-i-mute { display: none; }
.rc-vol.is-muted .rc-i-vol { display: none; }
.rc-vol.is-muted .rc-i-mute { display: block; }
.rc-vol__pop {
	position: absolute; right: 50%; bottom: calc(100% + 12px);
	transform: translateX(50%) translateY(4px);
	padding: 12px 16px; border-radius: 999px;
	background: #fff; box-shadow: 0 10px 28px rgba(60, 0, 90, .25);
	opacity: 0; visibility: hidden; transition: .16s ease;
}
.rc-vol__pop::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 12px; height: 12px; background: #fff; transform: translateX(-50%) rotate(45deg); }
.rc-vol:hover .rc-vol__pop, .rc-vol:focus-within .rc-vol__pop, .rc-vol.is-open .rc-vol__pop { opacity: 1; visibility: visible; transform: translateX(50%); }
.rc-vol__range { display: block; width: 130px; accent-color: var(--c-purple); }
@media (pointer: coarse) { .rc-vol__pop { display: none; } }

/* Formato "cartão" (home, como no Figma) */
.rc-is-home .rc-player-slot {
	width: min(100% - 2 * var(--gutter), var(--cn));
	margin: max(24px, calc(71 * var(--u))) auto 0;
	height: max(96px, calc(156 * var(--u)));
}
.rc-is-home .rc-player {
	height: 100%;
	padding: 0 calc(38 * var(--u) + 8px) 0 var(--pad);
	border-radius: max(24px, calc(40 * var(--u)));
}
.rc-is-home .rc-player__cover { width: max(64px, calc(136 * var(--u))); height: max(56px, calc(112 * var(--u))); border-radius: max(12px, calc(18 * var(--u))); }
.rc-is-home .rc-player__title { font-size: max(16px, calc(26 * var(--u))); line-height: 1.35; }
.rc-is-home .rc-player__artist { font-size: max(15px, calc(28 * var(--u))); line-height: 1.4; }
.rc-is-home .rc-player__play { width: max(56px, calc(88 * var(--u))); height: max(56px, calc(88 * var(--u))); }
.rc-is-home .rc-vol__btn { width: max(40px, calc(57 * var(--u))); height: max(40px, calc(57 * var(--u))); }

/* Formato "barra" (páginas internas, ou na home ao rolar) */
.rc-is-inner .rc-player,
.rc-player-slot.is-docked .rc-player {
	position: fixed; left: 0; right: 0; bottom: 0;
	height: var(--bar-h);
	padding: 0 max(16px, var(--edge)) env(safe-area-inset-bottom);
	padding-block: 10px;
	border-radius: 0;
	gap: 14px;
	box-shadow: 0 -6px 24px rgba(60, 0, 90, .22);
	animation: rc-bar-in .28s ease;
}
@keyframes rc-bar-in { from { transform: translateY(100%); } }
.rc-is-inner .rc-player__cover,
.rc-player-slot.is-docked .rc-player__cover { width: 56px; height: 56px; border-radius: 10px; }
.rc-is-inner .rc-player__live,
.rc-player-slot.is-docked .rc-player__live { display: flex; }
.rc-is-inner .rc-player__title,
.rc-player-slot.is-docked .rc-player__title { font-size: 16px; line-height: 1.3; }
.rc-is-inner .rc-player__artist,
.rc-player-slot.is-docked .rc-player__artist { font-size: 14px; line-height: 1.3; opacity: .95; }
.rc-is-inner .rc-player__play,
.rc-player-slot.is-docked .rc-player__play { width: 52px; height: 52px; }
.rc-is-inner .rc-vol__btn,
.rc-player-slot.is-docked .rc-vol__btn { width: 40px; height: 40px; }
.rc-is-inner { padding-bottom: var(--bar-h); }

/* ==========================================================================
   Etiquetas, meta
   ========================================================================== */
.rc-tag {
	position: relative; z-index: 2;
	display: inline-flex; align-items: center;
	width: max-content; max-width: 100%;
	background: var(--tag, var(--c-purple)); color: #fff;
	font-weight: 600; text-transform: uppercase; letter-spacing: .01em;
	line-height: 1; border-radius: 4px;
	transition: filter .15s;
}
.rc-tag:hover { filter: brightness(1.08); }
.rc-tag--md { height: max(26px, calc(36 * var(--u))); padding: 0 max(7px, calc(9 * var(--u))); font-size: max(13px, calc(18 * var(--u))); }
.rc-tag--sm { height: 22px; padding: 0 13px; font-size: 14px; }
.rc-tag--xs { height: 15px; padding: 0 6px; font-size: 10px; border-radius: 3px; }

.rc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; font-size: 13px; color: #000; }
.rc-meta__by a { color: var(--c-link); }
.rc-meta__by a:hover { text-decoration: underline; }
.rc-meta__date { display: inline-flex; align-items: center; gap: 10px; }
.rc-meta .rc-ico--clock { width: 8px; height: 8px; color: #000; }

.rc-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }

.rc-noimg { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, #3b0072, #a922f5 60%, #e9337d); }
.rc-noimg img { width: 40%; height: auto; opacity: .9; }

/* ==========================================================================
   Destaques (hero)
   ========================================================================== */
.rc-hero {
	display: grid;
	grid-template-columns: 741fr 353fr 353fr;
	gap: 0 max(8px, calc(10 * var(--u)));
	margin-top: max(28px, calc(74 * var(--u)));
	align-items: stretch;
}
.rc-hero--n1 { grid-template-columns: 1fr; }
.rc-hero--n1 .rc-hero__main { min-height: 0; aspect-ratio: 1470 / 560; }
.rc-hero--n2 { grid-template-columns: 741fr 353fr; }
.rc-hero__main {
	position: relative; overflow: hidden;
	min-height: max(320px, calc(488 * var(--u)));
	background: #2a2a30;
}
.rc-hero__main > img, .rc-hero__main > .rc-noimg {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	transition: transform .5s ease;
}
.rc-hero__main:hover > img { transform: scale(1.03); }
.rc-hero__main::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .35) 62%, rgba(0, 0, 0, .78) 100%);
	pointer-events: none;
}
.rc-hero__text {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
	display: grid; gap: max(10px, calc(32 * var(--u)));
	padding: 0 max(20px, calc(56 * var(--u))) max(22px, calc(45 * var(--u)));
	color: #fff;
}
.rc-hero__title { font-size: max(24px, calc(38 * var(--u))); font-weight: 700; line-height: 1.24; text-shadow: 0 2px 14px rgba(0, 0, 0, .25); }
.rc-hero__title a { color: #fff; }

.rc-card {
	position: relative;
	display: flex; flex-direction: column;
	min-width: 0;
	background: #fff;
	border-radius: 0 0 max(14px, calc(21 * var(--u))) max(14px, calc(21 * var(--u)));
	box-shadow: inset 0 0 0 1px #dedede;
	overflow: hidden;
}
.rc-card__img { aspect-ratio: 353 / 229; overflow: hidden; background: #eee; flex: none; }
.rc-card__img img, .rc-card__img .rc-noimg { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rc-card:hover .rc-card__img img { transform: scale(1.04); }
.rc-card__body { display: grid; align-content: start; gap: max(12px, calc(16 * var(--u))); padding: max(18px, calc(25 * var(--u))) max(18px, calc(25 * var(--u))) max(22px, calc(31 * var(--u))); }
.rc-card__title { font-size: max(19px, calc(32 * var(--u))); font-weight: 700; line-height: 1.2; color: var(--c-ink); }
.rc-card__title--sm { font-size: 19px; }
.rc-card:hover .rc-card__title a, .rc-item__title a:hover, .rc-mini__title a:hover { color: var(--c-purple); }

/* ==========================================================================
   Banners
   ========================================================================== */
.rc-ad { line-height: 0; }
.rc-ad[hidden], .rc-ad__item[hidden] { display: none; }
.rc-ad picture, .rc-ad img { display: block; width: 100%; height: auto; }
.rc-ad a { display: block; }
.rc-ad--wide { margin-top: max(26px, calc(70 * var(--u))); }
.rc-ad--wide + .rc-ad--wide { margin-top: max(18px, calc(38 * var(--u))); }
.rc-ad--side { margin-bottom: max(16px, calc(24 * var(--u))); }
.rc-ad--inline { margin: 32px 0; }
.rc-ad--empty .rc-ad__empty {
	display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px;
	width: 100%; aspect-ratio: 1628 / 230;
	padding: 16px; text-align: center; line-height: 1.35;
	background: var(--c-ad); color: #e8e8e8;
	font-size: 14px;
}
.rc-ad--empty .rc-ad__empty strong { font-size: 16px; color: #fff; }
.rc-ad--empty .rc-ad__empty em { font-style: normal; font-size: 12px; opacity: .6; }
.rc-ad--lateral_1.rc-ad--empty .rc-ad__empty { aspect-ratio: 476 / 741; }
.rc-ad--lateral_2.rc-ad--empty .rc-ad__empty { aspect-ratio: 476 / 278; }
.rc-ad--artigo_meio.rc-ad--empty .rc-ad__empty { aspect-ratio: 4 / 1; }
.rc-ad--lateral_1.rc-ad--empty, .rc-ad--lateral_2.rc-ad--empty { margin-bottom: max(16px, calc(24 * var(--u))); }

/* ==========================================================================
   Coluna principal + lateral
   ========================================================================== */
.rc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1095fr) minmax(280px, 476fr);
	gap: max(28px, calc(53 * var(--u)));
	align-items: start;
	margin-top: max(40px, calc(80 * var(--u)));
}
.rc-layout--single { margin-top: max(28px, calc(60 * var(--u))); }
.rc-layout__main { min-width: 0; }
.rc-layout__side { min-width: 0; }

/* Abas Últimas / Populares */
.rc-tabs__bar {
	display: flex; justify-content: flex-end; gap: max(22px, calc(31 * var(--u)));
	padding: 0 max(12px, calc(13 * var(--u))) max(12px, calc(19 * var(--u)));
}
.rc-tabs__tab {
	padding: 0; border: 0; background: none;
	font-size: max(19px, calc(24 * var(--u))); font-weight: 700; line-height: 1.3;
	color: var(--c-muted);
	transition: color .15s;
}
.rc-tabs__tab:hover { color: #6f6f6f; }
.rc-tabs__tab.is-active { color: var(--c-ink); }
.rc-tabs__panel[hidden] { display: none; }

/* Item de lista */
.rc-item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 493fr) minmax(0, 602fr);
	border-top: 4px solid var(--c-line);
	margin-bottom: max(14px, calc(17 * var(--u)));
}
.rc-item__img { display: block; aspect-ratio: 493 / 302; overflow: hidden; background: #eee; }
.rc-item__img img, .rc-item__img .rc-noimg { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rc-item:hover .rc-item__img img { transform: scale(1.04); }
.rc-item__body { display: flex; flex-direction: column; align-items: flex-start; padding: max(16px, calc(22 * var(--u))) 0 16px max(18px, calc(35 * var(--u))); }
.rc-item__title { margin: max(8px, calc(10 * var(--u))) 0 max(14px, calc(24 * var(--u))); font-size: max(19px, calc(28 * var(--u))); font-weight: 700; line-height: 1.24; color: var(--c-ink); }
.rc-item__excerpt { margin-top: max(10px, calc(18 * var(--u))); font-size: max(14px, calc(16 * var(--u))); line-height: 1.55; color: var(--c-text); }

/* Mais populares */
.rc-popular { margin-top: max(30px, calc(54 * var(--u))); padding-inline: max(12px, calc(20 * var(--u))) max(12px, calc(27 * var(--u))); }
.rc-popular__title {
	display: flex; align-items: center; justify-content: center; gap: max(14px, calc(18 * var(--u)));
	margin-bottom: max(22px, calc(36 * var(--u)));
	font-size: max(20px, calc(26 * var(--u))); font-weight: 700; text-transform: uppercase; letter-spacing: .005em;
	color: var(--c-muted);
}
.rc-popular__title .rc-ico { width: 1.05em; height: 1.3em; color: #cfcfcf; }
.rc-mini {
	position: relative;
	display: grid; grid-template-columns: max(64px, calc(86 * var(--u))) 1fr; gap: max(14px, calc(27 * var(--u)));
	align-items: start;
	padding: max(12px, calc(14 * var(--u))) 0 max(24px, calc(36 * var(--u)));
	border-top: 3px solid var(--c-line);
}
.rc-mini__img { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #eee; }
.rc-mini__img img, .rc-mini__img .rc-noimg { display: block; width: 100%; height: 100%; object-fit: cover; }
.rc-mini__body { display: grid; gap: 4px; padding-top: 2px; }
.rc-mini__title { font-size: max(15px, calc(17 * var(--u))); font-weight: 700; line-height: 1.22; color: var(--c-ink); }

.rc-widgets { display: grid; gap: 24px; margin-top: 24px; }
.rc-widget__title { font-size: 18px; margin-bottom: 10px; }

/* ==========================================================================
   Rodapé
   ========================================================================== */
.rc-footer { margin-top: max(36px, calc(66 * var(--u))); background: var(--c-footer); color: #fff; }
.rc-ad--home_rodape + .rc-footer, .rc-ad--interna_rodape + .rc-footer { margin-top: max(36px, calc(66 * var(--u))); }
.rc-footer__inner {
	display: grid;
	grid-template-columns: 596fr 744fr;
	align-items: center;
	width: min(100% - 2 * var(--gutter), var(--cf));
	margin-inline: auto;
	padding-block: max(48px, calc(75 * var(--u)));
}
.rc-footer__logo { display: block; width: max(220px, calc(417 * var(--u))); line-height: 0; }
.rc-footer__logo img { width: 100%; height: auto; }
.rc-footer__nav { display: grid; grid-template-columns: 353fr 391fr; gap: 24px; }
.rc-footer__list a {
	display: inline-block;
	font-size: max(18px, calc(28 * var(--u))); font-weight: 400; line-height: 1.79;
	text-transform: uppercase; letter-spacing: .01em;
	transition: opacity .15s;
}
.rc-footer__list a:hover { opacity: .75; }
.rc-footer__legal { border-top: 1px solid rgba(255, 255, 255, .15); padding: 18px var(--gutter); text-align: center; font-size: 13px; opacity: .85; }
.rc-footer__legal p + p { margin-top: 4px; }

/* ==========================================================================
   Notícia / página
   ========================================================================== */
.rc-article__head { display: grid; gap: 16px; justify-items: start; }
.rc-article__title { font-size: max(28px, calc(44 * var(--u))); font-weight: 700; line-height: 1.16; color: var(--c-ink); letter-spacing: -.005em; }
.rc-article__lede { font-size: max(17px, calc(21 * var(--u))); line-height: 1.5; color: #555; font-weight: 400; }
.rc-article__metabar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 14px 0; border-top: 4px solid var(--c-line); border-bottom: 1px solid #eee; }
.rc-article__figure { margin: 24px 0 0; }
.rc-article__figure img { display: block; width: 100%; height: auto; }
.rc-article__figure figcaption { margin-top: 8px; font-size: 13px; color: #777; }
.rc-prose { margin-top: 28px; font-size: max(17px, calc(18 * var(--u))); line-height: 1.75; color: #2b2b2b; }
.rc-prose > * + * { margin-top: 1.1em; }
.rc-prose h2 { font-size: 1.5em; margin-top: 1.6em; color: var(--c-ink); }
.rc-prose h3 { font-size: 1.25em; margin-top: 1.4em; color: var(--c-ink); }
.rc-prose a { color: var(--c-purple); text-decoration: underline; text-underline-offset: 2px; }
.rc-prose ul, .rc-prose ol { padding-left: 1.3em; }
.rc-prose ul { list-style: disc; }
.rc-prose blockquote { margin-left: 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--c-pink); font-size: 1.1em; font-style: italic; color: #444; }
.rc-prose img { border-radius: 4px; }
.rc-prose figure img { display: block; width: 100%; height: auto; }
.rc-prose figure { margin-inline: 0; }
.rc-prose figcaption { font-size: 13px; color: #777; margin-top: 6px; line-height: 1.4; }
.rc-prose iframe { max-width: 100%; }
.rc-prose .rc-ad { line-height: 0; }
.rc-article__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-top: 36px; padding-top: 18px; border-top: 1px solid #eee; }
.rc-article__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-article__tags a { padding: 4px 12px; border-radius: 999px; background: #f3eefa; color: var(--c-purple); font-size: 13px; font-weight: 500; }
.rc-share { display: flex; gap: 8px; }
.rc-share__btn { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f3eefa; color: var(--c-purple); font-size: 18px; transition: .15s; }
.rc-share__btn:hover { background: var(--c-purple); color: #fff; }
.rc-share__btn.is-copied { background: #1fa45a; color: #fff; }

.rc-section-title { margin-bottom: 18px; font-size: 22px; font-weight: 700; color: var(--c-ink); }
.rc-related { margin-top: 48px; }
.rc-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }

.rc-comments { margin-top: 48px; }
.rc-comments__list { padding: 0; list-style: none; }
.rc-comments__list .comment-body { padding: 16px 0; border-bottom: 1px solid #eee; }
.rc-comments textarea, .rc-comments input[type="text"], .rc-comments input[type="email"], .rc-comments input[type="url"] { width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; }
.rc-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border: 0; border-radius: 999px; background: var(--grad-player); color: #fff; font-weight: 600; }
.rc-btn:hover { filter: brightness(1.06); }

/* Listagens */
.rc-archive-head { margin-bottom: 22px; padding-bottom: 14px; display: grid; gap: 8px; }
.rc-archive-head__kicker { font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--c-muted); }
.rc-archive-head__title { font-size: max(26px, calc(40 * var(--u))); font-weight: 700; color: var(--c-ink); display: flex; align-items: center; gap: 14px; }
.rc-archive-head[style] .rc-archive-head__title::before { content: ""; width: 10px; height: 1em; border-radius: 3px; background: var(--tag); }
.rc-archive-head__desc { color: #555; }
.rc-archive-head__search .rc-search { max-width: 480px; }
.rc-archive-head__search .rc-search__input { border: 1px solid #ccc; border-radius: 6px; height: 44px; }
.rc-empty { padding: 40px 0; color: #777; }
.rc-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; }
.rc-pagination .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border-radius: 8px; background: #f3eefa; color: var(--c-purple); font-weight: 600; }
.rc-pagination .page-numbers.current { background: var(--c-purple); color: #fff; }

.rc-404 { padding: 80px var(--gutter); text-align: center; display: grid; justify-items: center; gap: 16px; }
.rc-404__code { font-size: 120px; font-weight: 800; line-height: 1; background: var(--grad-player); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rc-404__title { font-size: 32px; color: var(--c-ink); }
.rc-404__search .rc-search { width: min(480px, 90vw); }
.rc-404__search .rc-search__input { border: 1px solid #ccc; border-radius: 6px; height: 46px; }

/* Transição de página (navegação contínua) */
.rc-main { outline: none; transition: opacity .2s ease; }
.rc-main.is-loading { opacity: .45; pointer-events: none; }
.rc-progress { position: fixed; z-index: 999; left: 0; top: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--c-yellow), var(--c-pink)); transition: width .3s ease, opacity .3s; }
body.admin-bar .rc-progress { top: 32px; }

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 1280px) {
	.rc-header .rc-search { width: 180px; }
	.rc-weather__city { display: none; }
}

@media (max-width: 1100px) {
	.rc-layout { grid-template-columns: 1fr; }
	.rc-layout__side { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; align-items: start; }
	.rc-layout__side .rc-popular { grid-column: 1 / -1; padding-inline: 0; }
	.rc-layout__side .rc-widgets { grid-column: 1 / -1; }
	.rc-hero { grid-template-columns: 1fr 1fr; gap: 12px; }
	.rc-hero__main { grid-column: 1 / -1; min-height: 0; aspect-ratio: 16 / 9; }
	.rc-hero--n1, .rc-hero--n2 { grid-template-columns: 1fr; }
}

/* Cabeçalho móvel */
@media (max-width: 960px) {
	.rc-header__inner { min-height: 64px; gap: 12px; }
	.rc-logo__img { width: 116px; }
	.rc-weather { margin-left: auto; padding: 4px 10px 4px 6px; background: transparent; border-color: transparent; }
	.rc-weather__icon { width: 26px; height: 26px; }
	.rc-weather__temp { font-size: 17px; }
	.rc-weather__tip { left: auto; right: -40px; }
	.rc-burger {
		display: grid; place-items: center;
		width: 44px; height: 44px; margin-right: -8px;
		border: 0; background: none; color: #fff; font-size: 26px;
	}
	.rc-burger .rc-burger__close { display: none; }
	.rc-menu-open .rc-burger .rc-burger__open { display: none; }
	.rc-menu-open .rc-burger .rc-burger__close { display: block; }
	.rc-menu {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 16px;
		padding: 16px var(--gutter) 24px;
		background: #3b0072;
		box-shadow: 0 20px 40px rgba(30, 0, 60, .4);
		max-height: calc(100vh - 64px); overflow-y: auto;
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: .2s ease;
	}
	.rc-menu-open .rc-menu { opacity: 1; visibility: visible; transform: none; }
	.rc-menu .rc-search { order: -1; width: 100%; }
	.rc-search__input { height: 44px; font-size: 16px; border-radius: 6px; }
	.rc-nav { justify-content: stretch; }
	.rc-nav__list { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.rc-nav__list > li { border-bottom: 1px solid rgba(255, 255, 255, .12); }
	.rc-nav__list > li > a { justify-content: space-between; padding: 14px 4px; font-size: 19px; }
	.rc-nav__list > li:hover .rc-nav__caret { transform: none; }
	.rc-nav__list > li.is-open .rc-nav__caret { transform: rotate(180deg); }
	.rc-nav .sub-menu, .rc-nav li:hover > .sub-menu, .rc-nav li:focus-within > .sub-menu {
		position: static; display: none; min-width: 0;
		padding: 0 0 10px 6px; background: none; box-shadow: none;
		transform: none; opacity: 1; visibility: visible;
	}
	.rc-nav .sub-menu::before { display: none; }
	.rc-nav li.is-open > .sub-menu { display: block; }
	.rc-nav .sub-menu a { color: #fff; font-weight: 400; font-size: 16px; padding: 8px 10px; }
	.rc-nav .sub-menu a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
	.rc-header__glow::before { left: -220px; width: 360px; height: 30px; }
	.rc-header__glow::after { left: calc(var(--gutter) + 126px); top: 16px; width: 14px; height: 14px; min-width: 0; min-height: 0; }
}

@media (max-width: 760px) {
	:root { --bar-h: 68px; }
	/* Player: cartão compacto */
	.rc-is-home .rc-player-slot { height: 92px; margin-top: 16px; }
	.rc-is-home .rc-player { padding: 0 14px 0 12px; gap: 12px; border-radius: 22px; }
	.rc-is-home .rc-player__cover { width: 66px; height: 66px; border-radius: 12px; }
	.rc-is-home .rc-player__title { font-size: 15px; }
	.rc-is-home .rc-player__artist { font-size: 14px; }
	.rc-is-home .rc-player__play { width: 54px; height: 54px; }
	.rc-player .rc-vol { display: none; }
	.rc-is-inner .rc-player, .rc-player-slot.is-docked .rc-player { padding-inline: 12px; gap: 12px; padding-block: 8px; }
	.rc-is-inner .rc-player__cover, .rc-player-slot.is-docked .rc-player__cover { width: 50px; height: 50px; }
	.rc-is-inner .rc-player__title, .rc-player-slot.is-docked .rc-player__title { font-size: 14px; }
	.rc-is-inner .rc-player__artist, .rc-player-slot.is-docked .rc-player__artist { font-size: 13px; }
	.rc-is-inner .rc-player__play, .rc-player-slot.is-docked .rc-player__play { width: 46px; height: 46px; }
	.rc-is-home.rc-docked { padding-bottom: var(--bar-h); }

	.rc-hero { grid-template-columns: 1fr; gap: 14px; margin-top: 20px; width: 100%; }
	.rc-hero__main { aspect-ratio: 4 / 3.3; }
	.rc-hero__text { gap: 12px; padding: 0 18px 20px; }
	.rc-hero__title { font-size: 23px; }
	.rc-card { flex-direction: row; margin-inline: var(--gutter); border-radius: 0; box-shadow: none; border-top: 4px solid var(--c-line); padding-top: 12px; overflow: visible; }
	.rc-card__img { width: 128px; aspect-ratio: 1; border-radius: 10px; }
	.rc-card__body { padding: 0 0 0 14px; gap: 8px; }
	.rc-card__title { font-size: 17px; }
	.rc-related__grid { grid-template-columns: 1fr; }
	.rc-related .rc-card { margin-inline: 0; }

	.rc-ad--wide { width: 100%; margin-top: 24px; }
	.rc-ad--wide + .rc-ad--wide { margin-top: 14px; }

	.rc-layout { margin-top: 32px; }
	.rc-layout__side { grid-template-columns: 1fr; }
	.rc-tabs__bar { justify-content: flex-start; padding-inline: 0; }
	.rc-item { grid-template-columns: 128px 1fr; padding-top: 12px; margin-bottom: 4px; padding-bottom: 12px; }
	.rc-item__img { aspect-ratio: 1; border-radius: 10px; }
	.rc-item__body { padding: 0 0 0 14px; }
	.rc-item__title { font-size: 17px; margin: 6px 0 8px; }
	.rc-item__excerpt { display: none; }
	.rc-tag--sm { height: 20px; padding: 0 8px; font-size: 11px; }
	.rc-tag--md { height: 24px; font-size: 12px; padding: 0 8px; }
	.rc-meta { font-size: 12px; gap: 2px 14px; }

	.rc-footer__inner { grid-template-columns: 1fr; gap: 32px; justify-items: center; text-align: center; padding-block: 44px; }
	.rc-footer__logo { width: 220px; }
	.rc-footer__nav { grid-template-columns: 1fr; gap: 0; }
	.rc-footer__list a { font-size: 17px; line-height: 2.2; }

	.rc-article__metabar { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 380px) {
	.rc-weather__icon { display: none; }
	.rc-item, .rc-card { grid-template-columns: 100px 1fr; }
	.rc-card__img { width: 100px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ==========================================================================
   Página "Baixe o app"
   ========================================================================== */
.rc-app { padding-block: max(36px, calc(70 * var(--u))); }
.rc-app__card {
	display: grid; justify-items: center; gap: 18px; text-align: center;
	padding: max(36px, calc(70 * var(--u))) 24px;
	border-radius: max(24px, calc(40 * var(--u)));
	background: radial-gradient(ellipse at 20% 0%, rgba(255, 255, 255, .14), transparent 60%), var(--grad-player);
	color: #fff;
}
.rc-app__logo { width: 220px; }
.rc-app__title { font-size: max(28px, calc(44 * var(--u))); font-weight: 800; font-style: italic; }
.rc-app__text { font-size: 18px; max-width: 520px; opacity: .95; }
.rc-app__stores { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 8px; }
.rc-store { display: inline-flex; align-items: center; gap: 12px; min-width: 210px; padding: 12px 22px; border-radius: 14px; background: #120025; color: #fff; text-align: left; transition: transform .15s; }
.rc-store:hover { transform: translateY(-2px); }
.rc-store svg { width: 30px; height: 30px; }
.rc-store span { display: grid; font-size: 20px; font-weight: 600; line-height: 1.1; }
.rc-store small { font-size: 12px; font-weight: 400; opacity: .8; }
.rc-more { margin-top: 24px; text-align: center; }
