/*
Theme Name: A2B Network Theme
Description: Tema WordPress próprio, responsivo e mobile-first para Portal e App Agro2Business.
Version: 0.3.16
Text Domain: a2b-network-theme
*/

:root {
  --a2b-container: min(var(--container-max), calc(100% - var(--space-6)));
  --a2b-viewport-container: min(var(--container-max), calc(100vw - var(--space-6)));
  --a2b-post-title-width: min(calc(var(--container-max) - var(--space-8) * 2 - var(--space-5)), calc(100vw - var(--space-6)));
  --section-space-xs: var(--space-5);
  --section-space-s: var(--space-7);
  --section-space-m: var(--space-9);
  --a2b-hero-min-height: 464px;
  --a2b-reading-width: min(var(--container-narrow), calc(100% - var(--space-6)));
  --a2b-surface: var(--bg-primary);
  --a2b-surface-muted: var(--bg-secondary);
  --a2b-brand: var(--color-primary);
  --a2b-action: var(--color-green);
  --a2b-navy: var(--color-dark-blue);
  --a2b-ink: var(--text-primary);
  --a2b-muted: var(--text-secondary);
  --a2b-line: var(--border-color);
  --a2b-focus: var(--border-color-focus);
}

.a2b-network-theme { background: var(--a2b-surface); color: var(--a2b-ink); font-family: var(--font-body); }
.a2b-network-theme *, .a2b-network-theme *::before, .a2b-network-theme *::after { box-sizing: border-box; }
.a2b-network-theme img { display: block; height: auto; max-width: 100%; }
.a2b-network-theme a { color: inherit; }
.a2b-network-theme a:hover { color: var(--a2b-brand); }
.a2b-network-theme a:focus-visible, .a2b-network-theme button:focus-visible, .a2b-network-theme input:focus-visible { outline: var(--space-1) solid var(--a2b-focus); outline-offset: var(--space-1); }
.a2b-shell-container, .a2b-page, .a2b-editorial, .a2b-archive, .a2b-related, .a2b-comments { margin-inline: auto; width: var(--a2b-container); }

.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.a2b-skip-link { background: var(--a2b-navy); color: var(--text-on-dark); left: var(--space-4); padding: var(--space-3) var(--space-4); position: fixed; top: calc(var(--space-8) * -1); z-index: var(--z-tooltip); }
.a2b-skip-link:focus { top: var(--space-4); }

.a2b-utility-bar { background: var(--a2b-brand); color: var(--text-on-dark); font-size: var(--small-size); }
.a2b-utility-bar__inner, .a2b-footer-social__inner { align-items: center; display: flex; gap: var(--space-4); justify-content: space-between; min-height: var(--space-7); }
.a2b-utility-bar ul, .a2b-utility-actions, .a2b-primary-menu ul, .a2b-site-footer ul, .a2b-entry__share { display: flex; flex-wrap: wrap; gap: var(--space-3); list-style: none; margin: 0; padding: 0; }
.a2b-utility-bar a, .a2b-utility-actions a { align-items: center; color: var(--text-on-dark); display: inline-flex; min-height: var(--space-7); text-decoration: none; }
.a2b-utility-menu { display: none; }

.a2b-brand-bar { background: var(--a2b-surface); border-bottom: 1px solid var(--a2b-line); }
.a2b-brand-bar__inner { align-items: center; display: grid; gap: var(--space-4); grid-template-columns: 1fr auto; min-height: calc(var(--space-9) + var(--space-5)); padding-block: var(--space-4); }
.a2b-brand { color: var(--a2b-navy); display: inline-grid; line-height: 1; text-decoration: none; width: fit-content; }
.a2b-brand .custom-logo-link { display: block; }
.a2b-brand .custom-logo { max-height: calc(var(--space-9) - var(--space-3)); width: auto; }
.a2b-brand__wordmark { font-family: var(--font-heading); font-size: clamp(var(--text-2xl), 5vw, var(--text-3xl)); font-weight: var(--weight-black); letter-spacing: -0.08em; }
.a2b-brand__wordmark span { color: var(--a2b-action); }
.a2b-brand small { color: var(--a2b-brand); font-size: var(--caption-size); font-weight: var(--weight-extrabold); letter-spacing: 0.16em; margin-top: var(--space-1); }
.a2b-marketplace-search { display: flex; grid-column: 1 / -1; order: 3; }
.a2b-marketplace-search input { border: 1px solid var(--a2b-line); border-radius: var(--radius-md) 0 0 var(--radius-md); flex: 1; font: inherit; min-height: var(--space-7); min-width: 0; padding-inline: var(--space-3); }
.a2b-marketplace-search button { background: var(--a2b-action); border: 0; border-radius: 0 var(--radius-md) var(--radius-md) 0; color: var(--text-on-dark); cursor: pointer; font-size: var(--text-2xl); min-width: var(--space-7); }
.a2b-network-theme .a2b-announce-button { align-items: center; background: var(--a2b-navy); color: var(--text-on-dark); display: inline-flex; font-weight: var(--weight-bold); justify-content: center; min-height: var(--space-7); padding: var(--space-3) var(--space-4); text-decoration: none; white-space: nowrap; }
.a2b-network-theme .a2b-announce-button:hover { background: var(--a2b-action); color: var(--text-on-dark); }

.a2b-navigation-bar { border-bottom: 1px solid var(--a2b-line); box-shadow: var(--shadow-sm); }
.a2b-navigation-bar .a2b-shell-container { align-items: center; display: flex; justify-content: space-between; min-height: var(--space-7); }
.a2b-mobile-toggle { background: transparent; border: 0; color: var(--a2b-navy); cursor: pointer; font-size: var(--text-2xl); min-height: var(--space-7); min-width: var(--space-7); }
.a2b-primary-menu { width: 100%; }
.a2b-primary-menu > .a2b-primary-menu__list { align-items: center; justify-content: center; }
.a2b-primary-menu__list > li { position: relative; }
.a2b-primary-menu__list li > ul { background: var(--a2b-surface); border: 1px solid var(--a2b-line); box-shadow: var(--shadow-sm); display: none; min-width: var(--space-12); padding: var(--space-3); position: absolute; top: 100%; z-index: var(--z-dropdown); }
.a2b-primary-menu__list li:hover > ul, .a2b-primary-menu__list li:focus-within > ul { display: block; }
.a2b-primary-menu__list li > ul a { min-height: var(--space-6); }
.a2b-primary-menu a { align-items: center; display: inline-flex; font-weight: var(--weight-semibold); min-height: var(--space-7); text-decoration: none; }

.a2b-main { padding-block: var(--section-space-s) var(--section-space-m); }
.a2b-page__header, .a2b-archive__header { margin-bottom: var(--space-5); }
.a2b-page__title, .a2b-section__title, .a2b-editorial__title, .a2b-entry__title { color: var(--a2b-navy); font-family: var(--font-heading); font-weight: var(--weight-extrabold); line-height: var(--heading-line-height); text-wrap: pretty; }
.a2b-page__title { font-size: clamp(var(--text-3xl), 7vw, var(--text-5xl)); }
.a2b-section__title { font-size: clamp(var(--text-2xl), 5vw, var(--text-4xl)); margin-bottom: var(--space-4); }
.a2b-page__intro, .a2b-card__excerpt { color: var(--a2b-muted); }
.a2b-entry__content { line-height: var(--leading-relaxed); }
.a2b-entry__content > * + * { margin-top: var(--space-4); }
.a2b-entry__content h2, .a2b-entry__content h3, .a2b-entry__content h4 { color: var(--a2b-navy); font-family: var(--font-heading); line-height: var(--heading-line-height); text-wrap: pretty; }
.a2b-entry__content h2 { font-size: var(--h2-size); }
.a2b-entry__content h3 { font-size: var(--h3-size); }
.a2b-entry__content a { color: var(--text-link); font-weight: var(--weight-semibold); }

.a2b-editorial__header { margin-bottom: var(--section-space-xs); text-align: center; }
.a2b-editorial__eyebrow, .a2b-entry__date, .a2b-entry-meta { color: var(--a2b-brand); font-size: var(--small-size); font-weight: var(--weight-bold); }
.a2b-editorial__eyebrow { margin: 0 0 var(--space-2); text-transform: uppercase; }
.a2b-editorial__title { font-size: clamp(var(--text-4xl), 7vw, var(--text-6xl)); margin: 0; }
.a2b-editorial__section { margin-top: var(--section-space-s); }
.a2b-grid { display: grid; gap: var(--space-5); }
.a2b-card { background: var(--a2b-surface); border: 1px solid var(--a2b-line); border-radius: var(--radius-lg); display: flex; flex-direction: column; overflow: hidden; transition: box-shadow var(--transition-base), transform var(--transition-base); }
.a2b-card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(calc(var(--space-1) * -0.5)); }
.a2b-card__media { background: var(--a2b-surface-muted); display: block; }
.a2b-card__media, .a2b-card__fallback { aspect-ratio: 16 / 9; display: block; width: 100%; }
.a2b-card__media { background-image: var(--a2b-card-image); background-position: center; background-size: cover; }
.a2b-card__fallback { align-items: center; background: var(--a2b-surface-muted); color: var(--text-muted); display: grid; font-family: var(--font-heading); font-weight: var(--weight-bold); justify-content: center; }
.a2b-card__body { display: grid; gap: var(--space-2); padding: var(--space-4); }
.a2b-card__title { font-family: var(--font-heading); font-size: var(--text-xl); line-height: var(--heading-line-height); margin: 0; }
.a2b-card__title a { text-decoration: none; }
.a2b-entry-meta { align-items: center; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.a2b-entry-meta > * + *::before { color: var(--a2b-muted); content: "•"; margin-right: var(--space-2); }
.a2b-entry-meta__category { text-decoration: none; text-transform: uppercase; }
.a2b-card--hero { border: 0; box-shadow: var(--shadow-card); }
.a2b-card--hero .a2b-card__body { align-content: center; padding: var(--space-6); }
.a2b-card--hero .a2b-card__title { font-size: clamp(var(--text-2xl), 3vw, var(--text-4xl)); }
.a2b-card__excerpt { line-height: var(--leading-relaxed); margin: 0; }
.a2b-empty { border: 1px dashed var(--a2b-line); color: var(--a2b-muted); padding: var(--space-5); }
.a2b-pagination { margin-top: var(--space-6); }
.a2b-pagination .page-numbers { align-items: center; display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; margin: 0; padding: 0; }
.a2b-pagination a, .a2b-pagination span { border: 1px solid var(--a2b-line); min-height: var(--space-7); padding: var(--space-3) var(--space-4); text-decoration: none; }
.a2b-pagination .current { background: var(--a2b-brand); border-color: var(--a2b-brand); color: var(--text-on-dark); }

.a2b-entry { margin-inline: auto; width: var(--a2b-reading-width); }
.a2b-entry__header { margin-bottom: var(--section-space-s); }
.a2b-entry__heading { margin-inline: calc((var(--a2b-reading-width) - var(--a2b-post-title-width)) / 2); text-align: center; width: var(--a2b-post-title-width); }
.a2b-entry__date { display: block; margin-bottom: var(--space-3); }
.a2b-entry__title { font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl)); margin: 0; }
.a2b-entry__hero { margin-inline: calc((var(--a2b-reading-width) - var(--a2b-viewport-container)) / 2); width: var(--a2b-viewport-container); }
.a2b-entry__image { aspect-ratio: 54 / 25; border-radius: var(--radius-lg); object-fit: cover; width: 100%; }
.a2b-entry__content { border-bottom: 1px solid var(--a2b-line); line-height: var(--leading-relaxed); margin-bottom: var(--section-space-m); margin-inline: calc((var(--a2b-reading-width) - var(--a2b-viewport-container)) / 2); padding-bottom: var(--section-space-s); width: var(--a2b-viewport-container); }
.a2b-entry__byline { align-items: center; border-bottom: 1px solid var(--a2b-line); border-top: 1px solid var(--a2b-line); color: var(--a2b-muted); display: flex; flex-wrap: wrap; font-size: var(--small-size); gap: var(--space-3); justify-content: space-between; margin-top: var(--space-5); padding-block: var(--space-3); }
.a2b-entry__byline a { color: var(--a2b-brand); text-decoration: none; }
.a2b-entry__share a { color: var(--text-link); font-weight: var(--weight-semibold); text-decoration: none; }
.a2b-comments, .a2b-related { margin-top: var(--section-space-s); }

.a2b-site-footer { background: var(--a2b-navy); color: var(--text-on-dark); margin-top: var(--section-space-m); }
.a2b-footer-columns { display: grid; gap: var(--space-6); padding-block: var(--section-space-s); }
.a2b-footer-columns section { border-bottom: 1px solid var(--text-on-dark-faint); padding-bottom: var(--space-5); }
.a2b-footer-columns h2, .a2b-footer-trust h2 { color: var(--text-on-dark); font-family: var(--font-heading); font-size: var(--text-base); margin: 0 0 var(--space-4); }
.a2b-site-footer li { margin-bottom: var(--space-2); }
.a2b-site-footer a { color: var(--text-on-dark); text-decoration: none; }
.a2b-footer-columns p { color: var(--text-on-dark-muted); line-height: var(--leading-relaxed); margin: 0; }
.a2b-footer-trust { border-top: 1px solid var(--text-on-dark-faint); display: grid; gap: var(--space-5); padding-block: var(--section-space-xs); text-align: center; }
.a2b-footer-trust ul { justify-content: center; }
.a2b-footer-trust li { border: 1px solid var(--text-on-dark-faint); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.a2b-footer-social { background: var(--a2b-brand); }
.a2b-footer-social nav ul { display: flex; flex-wrap: wrap; gap: var(--space-3); list-style: none; margin: 0; padding: 0; }
.a2b-footer-social p { font-size: var(--small-size); margin: 0; text-align: right; }

@media (max-width: 767px) {
  body.a2b-mobile-shell-enabled .a2b-site-header { display: none; }
  .a2b-navigation-ready .a2b-primary-menu { display: none; }
  .a2b-navigation-ready .a2b-primary-menu.is-open { display: block; padding-block: var(--space-3); }
  .a2b-navigation-ready .a2b-primary-menu.is-open ul { align-items: stretch; flex-direction: column; }
  .a2b-navigation-ready .a2b-primary-menu.is-open a { border-bottom: 1px solid var(--a2b-line); }
  .a2b-entry__byline { align-items: flex-start; flex-direction: column; }
}

@media (min-width: 768px) {
  .a2b-utility-menu { display: block; }
  .a2b-brand-bar__inner { grid-template-columns: auto minmax(17.5rem, 1fr) auto; }
  .a2b-marketplace-search { grid-column: auto; order: initial; }
  .a2b-mobile-toggle { display: none; }
  .a2b-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a2b-card--hero { display: grid; grid-template-columns: 1.2fr 1fr; }
  .a2b-card--hero .a2b-card__media { background-size: cover; }
  .a2b-card--hero .a2b-card__fallback { height: 100%; }
  .a2b-footer-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .a2b-footer-columns section { border-bottom: 0; border-right: 1px solid var(--text-on-dark-faint); padding: 0 var(--space-5) 0 0; }
  .a2b-footer-columns section:last-child { border-right: 0; padding-right: 0; }
  .a2b-footer-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
  .a2b-card--hero { display: grid; grid-template-columns: 55fr 45fr; min-height: var(--a2b-hero-min-height); }
  .a2b-card--hero > * { min-width: 0; }
  .a2b-card--hero .a2b-card__media, .a2b-card--hero .a2b-card__fallback { aspect-ratio: auto; height: 100%; }
  .a2b-card--hero .a2b-card__media { background-size: cover; }
}

@media (min-width: 1024px) { .a2b-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .a2b-network-theme *, .a2b-network-theme *::before, .a2b-network-theme *::after { scroll-behavior: auto; transition-duration: 0.01ms; } }
