/*
Theme Name: Horá Pará
Theme URI: https://mulerun.com
Author: MuleRun
Author URI: https://mulerun.com
Description: Tema editorial completo para portal de notícias Horá Pará, com blocos ilimitados por categoria, cores e fontes editáveis, áreas de publicidade e importador RSS de notícias.
Version: 1.0.0
Requires at least: 6.1
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: portal-noticias-editavel
Tags: news, blog, custom-colors, custom-logo, custom-menu, featured-images, block-patterns, right-sidebar
*/

:root {
  --pln-primary: #009e58;
  --pln-secondary: #6d46a0;
  --pln-accent: #f4aa00;
  --pln-menu-bg: #202020;
  --pln-menu-text: #ffffff;
  --pln-text: #171a1f;
  --pln-muted: #70747c;
  --pln-link: #007a47;
  --pln-bg: #f4f5f6;
  --pln-card: #ffffff;
  --pln-border: #e5e7eb;
  --pln-shadow: 0 8px 24px rgba(17, 24, 39, .08);
  --pln-radius: 5px;
  --pln-title-font: "Open Sans", sans-serif;
  --pln-body-font: "Open Sans", sans-serif;
  --pln-article-title-font: var(--pln-title-font);
  --pln-article-font: var(--pln-body-font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pln-bg);
  color: var(--pln-text);
  font-family: var(--pln-body-font);
  font-size: 16px;
  line-height: 1.55;
}
a { color: var(--pln-link); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
a:hover { opacity: .82; }
img { max-width: 100%; height: auto; display: block; }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}

.pln-container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.site-header { background: #fff; box-shadow: 0 1px 0 var(--pln-border); }
.pln-topbar {
  background: #101214;
  color: #fff;
  font-size: 13px;
  letter-spacing: .01em;
}
.pln-topbar .pln-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 34px;
  gap: 18px;
}
.pln-date { color: rgba(255,255,255,.78); }
.pln-branding {
  min-height: 116px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(280px, 728px);
  align-items: center;
  gap: 24px;
  padding: 18px 0;
}
.custom-logo-link img { max-height: 92px; width: auto; }
.site-title {
  margin: 0;
  font-family: var(--pln-title-font);
  font-size: clamp(30px, 4vw, 54px);
  line-height: .95;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.site-title a { color: var(--pln-text); }
.site-description { margin: 6px 0 0; color: var(--pln-muted); font-weight: 700; }

.pln-ad-slot {
  display: grid;
  place-items: center;
  min-height: 90px;
  border: 1px solid var(--pln-border);
  background:
    repeating-linear-gradient(-45deg, #fff 0 12px, #f1f2f4 12px 24px);
  color: #5f646d;
  text-align: center;
  border-radius: var(--pln-radius);
  overflow: hidden;
}
.pln-ad-slot strong { display: block; color: #222; font-size: 24px; margin-top: 8px; }
.pln-ad-slot img { width: 100%; height: auto; }

.main-navigation { background: var(--pln-menu-bg); position: sticky; top: 0; z-index: 30; }
.pln-nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pln-menu-toggle {
  display: none;
  border: 0;
  background: var(--pln-primary);
  color: #fff;
  padding: 14px 18px;
  font-weight: 900;
  text-transform: uppercase;
}
.primary-menu { display: flex; align-items: stretch; gap: 0; margin: 0; padding: 0; list-style: none; flex: 1 1 auto; }
.primary-menu li { position: relative; }
.primary-menu a {
  display: block;
  padding: 18px 17px;
  color: var(--pln-menu-text);
  font-family: "Open Sans", sans-serif;
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.primary-menu > li.current-menu-item > a,
.primary-menu > li > a:hover {
  background: var(--pln-primary);
  opacity: 1;
}
.primary-menu ul {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 230px;
  margin: 0;
  padding: 8px 0;
  background: #151515;
  list-style: none;
  box-shadow: var(--pln-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .2s ease;
}
.primary-menu li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-menu ul a { padding: 11px 16px; text-transform: none; }
.pln-menu-search {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.pln-search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--pln-menu-text);
  cursor: pointer;
  transition: background .2s ease;
}
.pln-search-toggle:hover { background: rgba(255,255,255,.22); }
.pln-search-form {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: flex;
  align-items: center;
  width: min(320px, 82vw);
  background: #fff;
  border: 1px solid var(--pln-border);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  z-index: 40;
}
.pln-search-form[hidden] { display: none; }
.pln-search-form label { flex: 1; display: block; }
.pln-search-form .search-field {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #1f2328;
  padding: 8px 12px;
  font-size: 14px;
}
.pln-search-form .search-submit {
  min-height: 42px;
  border-radius: 0;
  padding: 8px 14px;
  background: var(--pln-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  cursor: pointer;
}

/* Latest news ticker bar */
.pln-latest-bar {
  background: var(--pln-card);
  border-top: 1px solid var(--pln-border);
  border-bottom: 1px solid var(--pln-border);
}
.pln-latest-bar .pln-container {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 0;
}
.pln-latest-label {
  flex: 0 0 auto;
  background: var(--pln-primary);
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .06em;
  padding: 6px 12px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pln-latest-label::before {
  content: "";
  width: 8px; height: 8px; border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255,255,255,.7);
  animation: pln-pulse 1.6s infinite;
}
@keyframes pln-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255,255,255,.7); }
  70% { box-shadow: 0 0 0 8px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}
.pln-latest-track {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 26px;
}
.pln-latest-marquee {
  display: inline-flex;
  gap: 42px;
  white-space: nowrap;
  padding-left: 100%;
  animation: pln-marquee 42s linear infinite;
}
.pln-latest-marquee a {
  color: var(--pln-text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.pln-latest-marquee a:hover { color: var(--pln-link); }
.pln-latest-marquee span.pln-latest-sep {
  color: var(--pln-primary);
  font-weight: 700;
}
@keyframes pln-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
.pln-latest-bar:hover .pln-latest-marquee { animation-play-state: paused; }

/* Ranked "Mais Lidas" recent posts widget */
.pln-ranked {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pln-ranked li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--pln-border);
}
.pln-ranked li:last-child { border-bottom: 0; }
.pln-ranked-num {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--pln-primary);
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pln-ranked a {
  color: var(--pln-text);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.35;
  text-decoration: none;
}
.pln-ranked a:hover { color: var(--pln-link); }
.pln-dark-toggle {
  border: 0;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  cursor: pointer;
}

.site-main { padding: 26px 0 46px; }
.pln-content-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 28px;
  align-items: start;
}
.pln-card {
  background: var(--pln-card);
  border: 1px solid var(--pln-border);
  border-radius: var(--pln-radius);
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}
.pln-card-pad { padding: 18px; }
.pln-grid { display: grid; gap: 18px; }
.pln-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pln-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pln-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.pln-section { margin: 0 0 30px; }
.pln-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  border-bottom: 3px solid var(--pln-primary);
  margin-bottom: 14px;
}
.pln-section-title {
  display: inline-block;
  margin: 0;
  padding: 8px 14px 7px;
  background: var(--pln-primary);
  color: #fff;
  font-family: var(--pln-title-font);
  font-size: 20px;
  line-height: 1;
  font-weight: 1000;
  text-transform: uppercase;
}
.pln-section-more {
  color: var(--pln-primary);
  font-weight: 900;
  padding-bottom: 7px;
}

.pln-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 8px 3px;
  border-radius: 3px;
  background: var(--pln-primary);
  color: #fff !important;
  font-size: 12px;
  line-height: 1;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.pln-post-title {
  font-family: var(--pln-title-font);
  color: var(--pln-text);
  font-weight: 1000;
  letter-spacing: -.025em;
}
.pln-post-title a { color: inherit; }
.pln-meta {
  color: var(--pln-muted);
  font-size: 14px;
  margin-top: 8px;
}
.pln-excerpt { color: #666c75; margin: 8px 0 0; }
.pln-thumb {
  position: relative;
  overflow: hidden;
  background: #dfe3e8;
}
.pln-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.pln-card:hover .pln-thumb img { transform: scale(1.035); }
.pln-thumb-placeholder {
  min-height: 180px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #1c2328, #00a35d);
  color: #fff;
  font-weight: 1000;
  text-transform: uppercase;
}

.pln-hero {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, .95fr);
  gap: 18px;
  margin-bottom: 28px;
}
.pln-hero-main .pln-thumb { aspect-ratio: 16 / 9; }
.pln-hero-main .pln-card-pad { padding: 18px 20px 22px; }
.pln-hero-main.pln-no-thumb .pln-card-pad { padding: 26px; }
.pln-hero-main .pln-post-title { margin: 12px 0 0; font-size: clamp(34px, 5vw, 58px); line-height: .98; }
.pln-hero-side { display: grid; gap: 18px; }
.pln-hero-side .pln-card {
  min-height: 210px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
}
.pln-hero-side .pln-card.pln-no-thumb {
  grid-template-columns: 1fr;
}
.pln-hero-side .pln-thumb {
  height: 100%;
  min-height: 210px;
  border-radius: var(--pln-radius) 0 0 var(--pln-radius);
}
.pln-hero-side .pln-card-pad {
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pln-hero-side .pln-post-title { margin: 12px 0 0; font-size: 23px; line-height: 1.05; }

.pln-news-card .pln-thumb { aspect-ratio: 16 / 9; border-radius: calc(var(--pln-radius) - 1px) calc(var(--pln-radius) - 1px) 0 0; }
.pln-news-card.pln-no-thumb .pln-card-pad { padding: 18px; }
.pln-news-card .pln-card-pad { padding: 14px; }
.pln-news-card .pln-post-title { margin: 10px 0 0; font-size: 22px; line-height: 1.08; }

.pln-list { display: grid; gap: 14px; }
.pln-list-item {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
}
.pln-list-item:first-child {
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1fr);
  padding: 14px;
}
.pln-list-item.pln-no-thumb,
.pln-list-item.pln-no-thumb:first-child {
  grid-template-columns: 1fr;
}
.pln-list-item .pln-thumb { aspect-ratio: 16 / 10; border-radius: 4px; }
.pln-list-item .pln-post-title { margin: 6px 0 0; font-size: 22px; line-height: 1.15; }
.pln-list-item:first-child .pln-post-title { font-size: clamp(28px, 3vw, 40px); }

.pln-layout-horizontal .pln-posts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pln-layout-vertical .pln-posts { display: grid; gap: 14px; }

.widget-area { display: grid; gap: 18px; }
.pln-sidebar-mini {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.pln-sidebar-mini .pln-thumb {
  aspect-ratio: 1 / 1;
  border-radius: 4px;
}
.pln-sidebar-mini .pln-thumb-placeholder {
  min-height: 92px;
  font-size: 11px;
}
.widget {
  background: var(--pln-card);
  border: 1px solid var(--pln-border);
  border-radius: var(--pln-radius);
  padding: 16px;
}
.widget-title {
  margin: 0 0 12px;
  font-family: var(--pln-title-font);
  font-size: 18px;
  text-transform: uppercase;
  border-bottom: 3px solid var(--pln-primary);
  padding-bottom: 8px;
}
.wp-block-search__inside-wrapper { display: flex; gap: 6px; }
.wp-block-search__input,
.search-field,
input[type="text"],
input[type="email"],
input[type="url"],
textarea {
  width: 100%;
  border: 1px solid var(--pln-border);
  border-radius: 4px;
  padding: 10px 12px;
  font: inherit;
}
button,
input[type="submit"],
.wp-block-search__button,
.pln-button {
  border: 0;
  background: var(--pln-primary);
  color: #fff;
  padding: 10px 14px;
  border-radius: 4px;
  font-weight: 900;
  cursor: pointer;
}

.pln-archive-title {
  margin: 0 0 18px;
  font-family: var(--pln-title-font);
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: -.04em;
}
.pln-archive-list { display: grid; gap: 16px; }
.single .entry-header,
.page .entry-header {
  background: var(--pln-card);
  border: 1px solid var(--pln-border);
  padding: 22px;
  border-radius: var(--pln-radius);
  margin-bottom: 18px;
}
.single .entry-title,
.page .entry-title {
  margin: 10px 0 0;
  font-family: var(--pln-title-font);
  font-size: clamp(36px, 6vw, 64px);
  line-height: .98;
  letter-spacing: -.05em;
  font-family: var(--pln-article-title-font);
}
.entry-content {
  background: var(--pln-card);
  border: 1px solid var(--pln-border);
  border-radius: var(--pln-radius);
  padding: min(5vw, 34px);
  font-family: var(--pln-article-font);
}
.entry-content > *:first-child { margin-top: 0; }
.entry-content p { font-size: 18px; }
.entry-content h2,
.entry-content h3 {
  font-family: var(--pln-title-font);
  letter-spacing: -.03em;
}
.post-navigation,
.posts-navigation {
  margin-top: 20px;
  font-weight: 900;
}
.comments-area {
  margin-top: 22px;
  background: var(--pln-card);
  border: 1px solid var(--pln-border);
  padding: 22px;
  border-radius: var(--pln-radius);
}

.site-footer { background: #111416; color: rgba(255,255,255,.78); }
.site-footer a { color: #fff; }
.pln-home-free-footer {
  margin: 34px auto;
}
.pln-home-free-footer .widget {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.pln-home-free-footer .wp-block-group,
.pln-home-free-footer .wp-block-columns,
.pln-home-free-footer .wp-block-cover {
  max-width: 100%;
}
.footer-widgets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 34px 0;
}
.site-info {
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 18px 0;
  font-size: 14px;
}

body.pln-dark {
  --pln-bg: #0f1214;
  --pln-card: #171b1f;
  --pln-text: #f2f5f8;
  --pln-muted: #a6adb7;
  --pln-border: #29313a;
  --pln-link: #21c878;
}
body.pln-dark .site-header { background: #15191d; }
body.pln-dark .pln-ad-slot { background: repeating-linear-gradient(-45deg, #171b1f 0 12px, #20262c 12px 24px); }

@media (max-width: 980px) {
  .pln-branding,
  .pln-content-sidebar,
  .pln-hero {
    grid-template-columns: 1fr;
  }
  .pln-grid-4,
  .pln-layout-horizontal .pln-posts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pln-hero-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .pln-container { width: min(100% - 22px, 1180px); }
  .pln-topbar .pln-container { flex-direction: column; align-items: flex-start; padding: 8px 0; }
  .pln-menu-toggle { display: block; }
  .pln-nav-inner { align-items: stretch; }
  .pln-menu-search {
    flex: 1 1 auto;
    max-width: none;
  }
  .primary-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--pln-menu-bg);
    flex-direction: column;
  }
  .primary-menu.is-open { display: flex; }
  .primary-menu ul {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
  }
  .pln-grid-4,
  .pln-grid-3,
  .pln-grid-2,
  .pln-layout-horizontal .pln-posts,
  .pln-hero-side,
  .footer-widgets,
  .pln-list-item,
  .pln-list-item:first-child {
    grid-template-columns: 1fr;
  }
  .pln-hero-main .pln-post-title,
  .single .entry-title,
  .page .entry-title { font-size: 36px; }
  .pln-hero-side .pln-card {
    grid-template-columns: 120px minmax(0, 1fr);
  }
  .pln-hero-side .pln-thumb {
    min-height: 170px;
  }
}
