/* ==========================================================================
   Responsividade — regras por componente (1280 / 1024 / 900 / 768 / 640 / 480 / 360)
   ========================================================================== */

/* ---------- Desktop: alinhamento da logo configurado (esquerda/direita) ---------- */
@media (min-width: 768px) {
	.pens-topbar--logo-left .pens-topbar__inner { grid-template-columns: auto auto 1fr; grid-template-areas: "left center right"; }
	.pens-topbar--logo-right .pens-topbar__inner { grid-template-columns: auto 1fr auto; grid-template-areas: "left right center"; }
}

@media (max-width: 1280px) {
	.pens-hero__title { font-size: min(var(--size-h1), 32px); }
	.pens-sports__title { font-size: 28px; }
}

@media (max-width: 1024px) {
	:root { --gutter: 20px; }
	.pens-hero__grid, .pens-block__grid { gap: 28px; }
	.pens-hero__title { font-size: min(var(--size-h1), 28px); }
	.pens-hero__side .pens-item { grid-template-columns: 84px 1fr; gap: 14px; }
	.pens-hero__side .pens-item__thumb { width: 84px; height: 110px; }
	.pens-columnist { flex-basis: calc((100% - 32px) / 2); }
	.pens-compact__item { flex-basis: calc((100% - 38px) / 2); }
	.pens-sports__grid { grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); gap: 28px; }
	.pens-grid { gap: 32px 28px; }
	.pens-grid--mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pens-grid--mosaic .pens-card--lead { grid-column: span 2; grid-row: auto; }
	.pens-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pens-single__wrap--sidebar { grid-template-columns: minmax(0, 1fr); }
	.pens-single__wrap--sidebar .pens-sidebar { position: static; }
	.pens-footer__inner--extra { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
	.pens-hero__grid { grid-template-columns: 1fr; gap: 28px; }
	.pens-hero__side .pens-item { grid-template-columns: 96px 1fr; }
	.pens-hero__side .pens-item__thumb { width: 96px; height: 96px; }

	/* Blocos de editoria: título → slider → lista → botão */
	.pens-block__grid { display: flex; flex-direction: column; gap: 0; }
	.pens-block__list { display: contents; }
	.pens-block__list .pens-sec__title { order: 0; }
	.pens-block__slider { order: 1; width: 100%; margin-bottom: 26px; }
	.pens-block__list .pens-item { order: 2; width: 100%; }
	.pens-block__list .pens-btn-more { order: 3; }

	.pens-sports__grid { grid-template-columns: 1fr; }
	.pens-sports__ad { order: 2; }
	.pens-grid--grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pens-recs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pens-columnists { margin-block: 36px 28px; }
}

@media (max-width: 767px) {
	:root { --gutter: 16px; }

	/* Header mobile: hambúrguer | logo centralizada | modo + busca */
	.pens-topbar__inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 4px; }
	.pens-iconbtn { width: 40px; height: 40px; }
	.pens-topbar__right { gap: 2px; }
	.pens-logo__set--desktop { display: none; }
	.pens-logo__set--mobile { display: flex; }
	/* A logo respeita a largura configurada, mas nunca invade os controles laterais (mantém o centro exato). */
	.pens-topbar__center .pens-logo__img { max-width: max(60px, calc(100vw - 204px)) !important; }
	.pens-logo__text { font-size: 22px; }
	.pens-assine--desktop-only { display: none; }
	.pens-assine-strip { display: block; }
	.pens-nav__inner { justify-content: flex-start; padding-inline: 4px; }
	.pens-nav__list > li > a { font-size: 16px; padding: 13px 8px 10px; }
	.pens-nav__arrow { display: none; }
	.pens-nav__quick { display: none; }

	.pens-ad { margin-block: 24px; }
	.pens-ad--no-mobile { display: none; }

	.pens-hero { padding-top: 18px; }
	.pens-hero__title { font-size: min(var(--size-h1), 26px); }
	.pens-hero__excerpt { font-size: 17px; }
	.pens-hero__links { grid-template-columns: 1fr; }

	.pens-sec__title { font-size: 30px; margin-bottom: 18px; }
	.pens-columnists { padding-block: 28px 30px; }
	.pens-columnists__title { font-size: 24px; }
	.pens-columnist { flex-basis: 100%; grid-template-columns: 72px 1fr; }
	.pens-columnist__avatar { width: 72px; height: 72px; }
	.pens-columnists__track { gap: 16px; }
	.pens-compact__track { gap: 16px; }
	.pens-compact__item { flex-basis: 100%; }
	.pens-compact .pens-sec__title { font-size: 28px; }
	.pens-slider__btn { width: 30px; height: 30px; }
	.pens-sports__title { font-size: 24px; }

	.pens-cat-title { font-size: min(var(--cat-title-size, 36px), 28px); gap: 14px; }
	.pens-cat-header { margin: 20px 0 24px; }
	.pens-grid--grid-2 { gap: 28px; }
	.pens-hcard { grid-template-columns: 120px 1fr; gap: 14px; }
	.pens-hcard__title { font-size: 18px; }
	.pens-hcard__excerpt { display: none; }
	.pens-grid--mosaic { grid-template-columns: 1fr; }
	.pens-grid--mosaic .pens-card--lead { grid-column: auto; }

	.pens-article__title { font-size: min(var(--single-h1-size, 38px), 30px); }
	.pens-article__lead { font-size: 17px; }
	.pens-breadcrumb { font-size: 15px; }
	.entry-content { --article-base: 17px; }
	.entry-content h2 { font-size: min(var(--size-h2), 23px); }
	.entry-content .alignleft, .entry-content .alignright { float: none; max-width: 100%; margin: 1em auto; display: block; }
	.pens-fontctl { margin-left: 0; }
	.pens-related__grid { grid-template-columns: 1fr; }
	.pens-related__title { font-size: 22px; }
	.pens-responsible { padding: 14px; gap: 12px; }
	.pens-cta { padding: 16px; }
	.pens-authorbox { flex-direction: column; }

	.pens-recs__title { font-size: 24px; }
	.pens-footer__inner { grid-template-columns: 1fr; text-align: center; gap: 28px; padding-block: 40px 28px; }
	.pens-footer__logo { justify-content: center; min-height: 0; }
	.pens-footer__links { text-align: center; }
	.pens-footer__extra { text-align: center; }
}

@media (max-width: 640px) {
	.pens-grid--grid-2 { grid-template-columns: 1fr; }
	.pens-grid--grid-3 { grid-template-columns: 1fr; }
	.pens-grid--grid-2 .pens-card__media, .pens-grid--grid-3 .pens-card__media { border-radius: var(--card-radius); }
	.pens-pagination .page-numbers { min-width: 36px; height: 36px; font-size: 16px; }
}

@media (max-width: 560px) {
	.pens-recs__grid { grid-template-columns: 1fr; }
	.pens-item { grid-template-columns: 80px 1fr; gap: 14px; }
	.pens-item__thumb { width: 80px; height: 80px; }
	.pens-hero__side .pens-item { grid-template-columns: 80px 1fr; }
	.pens-hero__side .pens-item__thumb { width: 80px; height: 80px; }
	.pens-item__title { font-size: 18px; }
	.pens-social--footer { grid-template-columns: repeat(2, 110px); }
}

@media (max-width: 389px) {
	.pens-logo__text { font-size: 19px; }
}

@media (max-width: 359px) {
	:root { --gutter: 14px; }
	.pens-iconbtn { width: 38px; height: 38px; }
	.pens-iconbtn .pens-icon { width: 22px; height: 22px; }
	.pens-search-toggle__circle { width: 32px; height: 32px; }
	.pens-sec__title { font-size: 26px; }
	.pens-hcard { grid-template-columns: 1fr; }
	.pens-share__list { grid-template-columns: repeat(2, 1fr); }
}
