/*
Theme Name: Vou Pro Backstage
Author: Lucas Antonio Gouveia / Vou para Backstage
Description: Tema editorial do Vou Pro Backstage. Apresentação desacoplada do plugin Core, com home modular 70/30, área para plugins de terceiros, guias, eventos e playlists.
Version: 4.0.2
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vou-pro-backstage
Tags: news, blog, entertainment, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
  --vpb-bg: #0c0c0d;
  --vpb-surface: #141416;
  --vpb-surface-2: #1a1a1d;
  --vpb-text: #f7f6f2;
  --vpb-muted: #b7b6b0;
  --vpb-faint: #777773;
  --vpb-line: #2b2b2d;
  --vpb-accent: #48f5ce;
  --vpb-hot: #ff4f8b;
  --vpb-yellow: #f5e54d;
  --vpb-max: 1440px;
  --vpb-radius: 10px;
  --vpb-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --vpb-serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--vpb-bg);
  color: var(--vpb-text);
  font-family: var(--vpb-sans);
  font-size: var(--vpb-base-font, 17px);
  line-height: var(--vpb-line-height, 1.5);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--vpb-accent); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.vpb-wrap { width: min(calc(100% - (var(--vpb-gutter, 24px) * 2)), var(--vpb-max)); margin-inline: auto; }
.vpb-section { margin-top: 72px; }
.vpb-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; border-top: 3px solid var(--vpb-accent); padding-top: 14px; margin-bottom: 24px; }
.vpb-section-head h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); line-height: .95; letter-spacing: -.045em; }
.vpb-section-head p { margin: 0; max-width: 680px; color: var(--vpb-muted); font-family: var(--vpb-serif); font-size: 1.07rem; }
.vpb-kicker { color: var(--vpb-accent); text-transform: uppercase; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.vpb-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 12px; color: var(--vpb-faint); font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.vpb-meta .author { color: var(--vpb-accent); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 60; border-bottom: 1px solid var(--vpb-line); background: rgba(12,12,13,.94); backdrop-filter: blur(16px); }
.vpb-header-row { min-height: var(--vpb-header-height, 76px); display: flex; align-items: center; gap: 28px; }
.site-branding { display: flex; align-items: center; gap: 14px; }
.custom-logo-link img { max-height: 42px; width: auto; }
.site-title { display: inline-flex; align-items: baseline; gap: 7px; font-weight: 1000; letter-spacing: -.055em; line-height: 1; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.site-title .backstage { color: var(--vpb-accent); }
.site-title .slash { color: var(--vpb-hot); }
.site-description { margin: 0; color: var(--vpb-muted); font-size: .78rem; max-width: 250px; }
.primary-nav { margin-left: auto; }
.primary-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 25px; }
.primary-nav a { font: 750 var(--vpb-nav-font, 14px)/1 var(--vpb-ui, var(--vpb-sans)); text-transform: uppercase; letter-spacing: .045em; }
.primary-nav a:hover { color: var(--vpb-accent); }
.vpb-menu-toggle { display: none; margin-left: auto; border: 1px solid var(--vpb-line); background: var(--vpb-surface); color: var(--vpb-text); border-radius: 999px; padding: 8px 13px; cursor: pointer; }

/* Home 70/30 */
.vpb-home-top { display: grid; grid-template-columns: minmax(0, var(--vpb-main-fr, 7fr)) minmax(280px, var(--vpb-side-fr, 3fr)); gap: 0; border-inline: 1px solid var(--vpb-line); }
.vpb-home-main { min-width: 0; padding: 34px 34px 56px; }
.vpb-home-sidebar { min-width: 0; border-left: 1px solid var(--vpb-line); padding: 34px 28px 56px; }

/* Hero */
.vpb-hero { position: relative; overflow: hidden; background: var(--vpb-surface-2); border-radius: var(--vpb-radius); min-height: 610px; }
.vpb-hero-media, .vpb-hero-media img { width: 100%; height: 610px; }
.vpb-hero-media img { object-fit: cover; }
.vpb-placeholder { width: 100%; height: 100%; min-height: 240px; background: radial-gradient(circle at 75% 22%, rgba(72,245,206,.35), transparent 24%), radial-gradient(circle at 25% 85%, rgba(255,79,139,.25), transparent 28%), linear-gradient(135deg,#29292e,#111114 60%,#1c1c20); }
.vpb-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,8,9,.98) 0%, rgba(8,8,9,.65) 34%, rgba(8,8,9,.08) 72%); pointer-events: none; }
.vpb-hero-copy { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 32px 34px 36px; max-width: 980px; }
.vpb-hero h1 { margin: 8px 0 0; font-size: clamp(3rem, 6vw, 6rem); line-height: .9; letter-spacing: -.06em; text-wrap: balance; }
.vpb-hero-dek { max-width: 820px; margin: 15px 0 0; color: #e2e1db; font: 1.25rem/1.35 var(--vpb-serif); }

/* 4 related */
.vpb-related { margin-top: 26px; display: grid; grid-template-columns: repeat(var(--vpb-related-cols, 4), minmax(0,1fr)); gap: 18px; }
.vpb-mini-card { border-top: 1px solid var(--vpb-line); padding-top: 14px; min-width: 0; }
.vpb-mini-thumb { display: block; overflow: hidden; border-radius: 7px; background: var(--vpb-surface-2); }
.vpb-mini-thumb img, .vpb-mini-thumb .vpb-placeholder { width: 100%; aspect-ratio: 16/10; object-fit: cover; min-height: 0; transition: transform .25s ease; }
.vpb-mini-card:hover img { transform: scale(1.025); }
.vpb-mini-card h2 { margin: 10px 0 0; font-size: 1.03rem; line-height: 1.08; letter-spacing: -.025em; }

/* Sidebar and editorial utility blocks */

/* Sidebar */
.vpb-side-block { padding: 0 0 30px; margin-bottom: 30px; border-bottom: 1px solid var(--vpb-line); }
.vpb-side-block:last-child { border-bottom: 0; }
.vpb-side-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 17px; font-size: .78rem; color: var(--vpb-accent); text-transform: uppercase; letter-spacing: .12em; }
.vpb-side-title::after { content: ""; height: 1px; flex: 1; background: var(--vpb-line); }
.vpb-twitter-fallback { display: grid; gap: 12px; }
.vpb-tweet-card { background: var(--vpb-surface); border: 1px solid var(--vpb-line); padding: 14px; border-radius: 8px; }
.vpb-tweet-card strong { color: var(--vpb-accent); font-size: .75rem; }
.vpb-tweet-card p { margin: 7px 0 0; color: #d6d5cf; font-family: var(--vpb-serif); font-size: .92rem; }
.vpb-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.vpb-tag-cloud a { display: inline-flex; padding: 6px 9px; border: 1px solid var(--vpb-line); border-radius: 999px; font-size: .75rem !important; line-height: 1; }
.vpb-tag-cloud a:hover { border-color: var(--vpb-accent); }
.vpb-recent-list { display: grid; gap: 0; }
.vpb-recent-item { display: grid; grid-template-columns: 1fr 76px; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--vpb-line); }
.vpb-recent-item:first-child { padding-top: 0; }
.vpb-recent-item:last-child { border-bottom: 0; padding-bottom: 0; }
.vpb-recent-item h3 { margin: 0; font-size: .94rem; line-height: 1.1; letter-spacing: -.02em; }
.vpb-recent-item img, .vpb-recent-item .vpb-placeholder { width: 76px; height: 76px; object-fit: cover; border-radius: 6px; min-height: 0; }

/* Full-width home sections */
.vpb-home-below { padding-bottom: 72px; }

/* Guide slider */
.vpb-slider-actions { display: flex; gap: 8px; }
.vpb-slider-btn { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--vpb-line); background: var(--vpb-surface); color: var(--vpb-text); cursor: pointer; }
.vpb-slider-btn:hover { border-color: var(--vpb-accent); color: var(--vpb-accent); }
.vpb-guide-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 31%); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
.vpb-guide-track::-webkit-scrollbar { display: none; }
.vpb-guide-card { scroll-snap-align: start; min-height: 390px; position: relative; overflow: hidden; border-radius: 12px; background: var(--vpb-surface-2); }
.vpb-guide-card img, .vpb-guide-card > .vpb-placeholder { width: 100%; height: 390px; object-fit: cover; }
.vpb-guide-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(8,8,9,.96),rgba(8,8,9,.08) 68%); pointer-events: none; }
.vpb-guide-copy { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 20px; }
.vpb-guide-copy h3 { margin: 8px 0 0; font-size: 1.45rem; line-height: 1.02; letter-spacing: -.035em; }

/* Events */
.vpb-events-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.vpb-event-card { overflow: hidden; border: 1px solid var(--vpb-line); border-radius: 10px; background: var(--vpb-surface); }
.vpb-event-card img, .vpb-event-card .vpb-placeholder { width: 100%; aspect-ratio: 16/9; object-fit: cover; min-height: 0; }
.vpb-event-body { padding: 18px; }
.vpb-event-body h3 { margin: 7px 0 8px; font-size: 1.35rem; line-height: 1.03; letter-spacing: -.035em; }
.vpb-event-detail { display: flex; flex-wrap: wrap; gap: 8px 14px; color: var(--vpb-muted); font-size: .78rem; }
.vpb-event-detail span:first-child { color: var(--vpb-hot); font-weight: 800; }

/* Playlists */
.vpb-playlist-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.vpb-playlist-card { min-height: 330px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; border-radius: 12px; background: linear-gradient(145deg,#202026,#101012); border: 1px solid var(--vpb-line); }
.vpb-playlist-card img, .vpb-playlist-card > .vpb-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.vpb-playlist-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(8,8,9,.96),rgba(8,8,9,.15)); }
.vpb-playlist-copy { position: relative; z-index: 2; padding: 19px; }
.vpb-playlist-copy h3 { margin: 7px 0 8px; font-size: 1.35rem; line-height: 1.02; }
.vpb-playlist-copy p { margin: 0 0 15px; color: #d0cfc9; font-family: var(--vpb-serif); font-size: .95rem; }
.vpb-listen { display: inline-flex; align-items: center; gap: 8px; color: var(--vpb-accent); font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }

/* Generic archive/cards */
.vpb-content-shell { display: grid; grid-template-columns: minmax(0,1fr) 330px; border-inline: 1px solid var(--vpb-line); }
.vpb-content { min-width: 0; padding: 38px 34px 70px; }
.vpb-sidebar { border-left: 1px solid var(--vpb-line); padding: 38px 28px 70px; }
.vpb-page-head { border-top: 3px solid var(--vpb-accent); padding-top: 16px; margin-bottom: 28px; }
.vpb-page-head h1 { margin: 0; font-size: clamp(2.7rem,6vw,6rem); line-height: .9; letter-spacing: -.055em; }
.vpb-post-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 22px; }
.vpb-card { border-bottom: 1px solid var(--vpb-line); padding-bottom: 22px; }
.vpb-card img, .vpb-card .vpb-placeholder { width: 100%; aspect-ratio: 16/10; object-fit: cover; min-height: 0; border-radius: 8px; }
.vpb-card h2, .vpb-card h3 { margin: 13px 0 7px; font-size: 1.5rem; line-height: 1.02; letter-spacing: -.035em; }
.vpb-card p { margin: 0; color: var(--vpb-muted); font-family: var(--vpb-serif); }

/* Single */
.vpb-article-header { max-width: 1030px; margin: 10px auto 0; }
.vpb-article-header h1 { margin: 8px 0 15px; font-size: clamp(3rem,7vw,7.3rem); line-height: .87; letter-spacing: -.065em; text-wrap: balance; }
.vpb-article-dek { margin: 0; color: #d7d6d0; font: clamp(1.1rem,2vw,1.5rem)/1.35 var(--vpb-serif); }
.vpb-article-media { max-width: 1180px; margin: 34px auto 0; }
.vpb-article-media img { width: 100%; max-height: 760px; object-fit: cover; border-radius: 10px; }
.vpb-article-body { max-width: 760px; margin: 42px auto 0; color: #e6e5df; font: 1.19rem/1.7 var(--vpb-serif); }
.vpb-article-body h2, .vpb-article-body h3 { font-family: var(--vpb-sans); line-height: 1.05; letter-spacing: -.035em; }
.vpb-article-body a { color: var(--vpb-accent); text-decoration: underline; text-underline-offset: 3px; }
.vpb-article-body blockquote { margin: 2em 0; padding-left: 22px; border-left: 4px solid var(--vpb-hot); color: #fff; font-size: 1.2em; }

/* Widgets */
.widget { margin-bottom: 30px; }
.widget-title { margin: 0 0 14px; color: var(--vpb-accent); font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding: 9px 0; border-bottom: 1px solid var(--vpb-line); }
.search-form { display: flex; gap: 7px; }
.search-field { width: 100%; background: var(--vpb-surface); color: #fff; border: 1px solid var(--vpb-line); padding: 10px 11px; border-radius: 6px; }
.search-submit { border: 0; border-radius: 6px; padding: 10px 13px; background: var(--vpb-accent); color: #061713; font-weight: 900; cursor: pointer; }

/* Footer */
.site-footer { border-top: 1px solid var(--vpb-line); padding: 46px 0 38px; }
.vpb-footer-top { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 28px; align-items: start; }
.vpb-footer-brand { font-size: 1.8rem; font-weight: 1000; letter-spacing: -.055em; line-height: 1; }
.vpb-footer-brand span { color: var(--vpb-accent); }
.vpb-footer-copy { margin-top: 10px; color: var(--vpb-muted); max-width: 320px; font-family: var(--vpb-serif); font-size: .9rem; }
.site-footer nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 18px; }
.site-footer nav a { font-size: .83rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.vpb-socials { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.vpb-socials a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 12px; border: 1px solid var(--vpb-line); border-radius: 999px; font-size: .72rem; font-weight: 800; }
.vpb-socials a:hover { border-color: var(--vpb-accent); }
.vpb-footer-bottom { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--vpb-line); color: var(--vpb-faint); font-size: .73rem; }

/* Comments/pagination */
.comments-area { max-width: 760px; margin: 45px auto 0; }
.comment-list { padding-left: 20px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.page-numbers { padding: 8px 11px; border: 1px solid var(--vpb-line); border-radius: 6px; }
.page-numbers.current { background: var(--vpb-accent); color: #061713; border-color: var(--vpb-accent); }

@media (max-width: 1120px) {
  .vpb-home-top { grid-template-columns: minmax(0,1fr) 320px; }
  .vpb-related { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vpb-guide-track { grid-auto-columns: 43%; }
  .vpb-playlist-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .site-description { display: none; }
  .vpb-menu-toggle { display: inline-flex; }
  .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 76px; padding: 15px 24px; background: var(--vpb-bg); border-bottom: 1px solid var(--vpb-line); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { display: grid; gap: 0; }
  .primary-nav li { border-bottom: 1px solid var(--vpb-line); }
  .primary-nav a { display: block; padding: 12px 0; }
  .vpb-home-top { display: block; border-inline: 0; }
  .vpb-home-sidebar { border-left: 0; border-top: 1px solid var(--vpb-line); }
  .vpb-content-shell { display: block; border-inline: 0; }
  .vpb-sidebar { border-left: 0; border-top: 1px solid var(--vpb-line); }
  .vpb-events-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vpb-footer-top { grid-template-columns: 1fr 1fr; }
  .vpb-socials { justify-content: flex-start; }
}

@media (max-width: 650px) {
  body { font-size: 16px; }
  .vpb-wrap { width: min(calc(100% - 26px), var(--vpb-max)); }
  .vpb-home-main, .vpb-home-sidebar, .vpb-content, .vpb-sidebar { padding-inline: 0; }
  .vpb-hero, .vpb-hero-media, .vpb-hero-media img { min-height: 530px; height: 530px; }
  .vpb-hero-copy { padding: 22px 18px; }
  .vpb-hero h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .vpb-hero-dek { font-size: 1.05rem; }
  .vpb-related { grid-template-columns: 1fr 1fr; gap: 16px 12px; }
  .vpb-section-head { display: block; }
  .vpb-section-head p { margin-top: 8px; }
  .vpb-slider-actions { margin-top: 14px; }
  .vpb-guide-track { grid-auto-columns: 82%; }
  .vpb-events-grid, .vpb-playlist-grid, .vpb-post-grid { grid-template-columns: 1fr; }
  .vpb-footer-top { grid-template-columns: 1fr; }
  .site-footer nav ul { grid-template-columns: 1fr 1fr; }
}

/* =========================================================
   VPB — editorial Guides, Event list and managed content
   ========================================================= */

.vpb-editorial-section{margin-top:92px}
.vpb-showcase-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:42px}
.vpb-editorial-kicker{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:#f4f3ef}
.vpb-editorial-kicker i{display:inline-block;width:38px;height:2px;background:#ff3159}
.vpb-showcase-intro h2{margin:0;font-family:var(--vpb-serif);font-size:clamp(3.4rem,7vw,7.8rem);font-weight:500;line-height:.88;letter-spacing:-.055em;text-wrap:balance}
.vpb-showcase-all{flex:none;border-bottom:2px solid #ff3159;padding:0 0 12px;font-size:.77rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}

/* Guide editorial cards inspired by the supplied reference, but original implementation. */
.vpb-guides-showcase .vpb-guide-track{grid-auto-columns:calc((100% - 54px)/4);gap:18px;padding:0 0 12px}
.vpb-guides-showcase .vpb-guide-card{display:flex;flex-direction:column;min-height:570px;border:1px solid #454548;border-radius:0;background:#111;overflow:hidden;color:#fff}
.vpb-guides-showcase .vpb-guide-card::after{display:none}
.vpb-guide-topline{display:flex;justify-content:space-between;gap:12px;padding:27px 28px 18px;font-size:.67rem;text-transform:uppercase;letter-spacing:.13em}
.vpb-guide-topline strong{font-weight:900}
.vpb-guide-media{display:block;margin:10px 28px 0;aspect-ratio:16/9;overflow:hidden;background:#252529}
.vpb-guide-media img,.vpb-guide-media .vpb-placeholder{width:100%;height:100%;min-height:0;object-fit:cover}
.vpb-guides-showcase .vpb-guide-copy{position:static;display:flex;flex:1;flex-direction:column;padding:24px 28px 29px}
.vpb-guides-showcase .vpb-guide-copy h3{margin:0;font-family:var(--vpb-serif);font-size:clamp(2rem,2.6vw,3rem);font-weight:500;line-height:.92;letter-spacing:-.045em}
.vpb-guides-showcase .vpb-guide-copy p{margin:26px 0;color:inherit;opacity:.82;font-size:.9rem;line-height:1.55}
.vpb-card-cta{display:block;margin-top:auto;border-top:1px solid currentColor;padding-top:18px;font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.vpb-guide-pink{background:#ff3159!important;color:#080809!important;border-color:#ff3159!important}
.vpb-guide-light{background:#ece8df!important;color:#111!important;border-color:#ece8df!important}
.vpb-guide-wine{background:#421d22!important;color:#fff!important;border-color:#654047!important}
.vpb-guide-dark{background:#0d0d0e!important;color:#fff!important}
.vpb-guides-showcase>.vpb-slider-actions{justify-content:flex-end;margin-top:17px}

/* Event agenda — compact list like an editorial calendar. */
.vpb-events-showcase{padding-bottom:12px}
.vpb-event-list{border-top:1px solid #343438}
.vpb-event-row{display:grid;grid-template-columns:102px 105px minmax(0,1fr) 70px;gap:22px;align-items:center;min-height:122px;border-bottom:1px solid #343438;padding:11px 10px}
.vpb-event-logo{display:grid;place-items:center;width:88px;height:88px;overflow:hidden;background:#202024;font-weight:1000;color:#ff3159;font-size:1.05rem}
.vpb-event-logo img{width:100%;height:100%;object-fit:cover}
.vpb-event-date{display:flex;align-items:flex-end;gap:8px;line-height:1}
.vpb-event-date strong{font-size:3rem;letter-spacing:-.07em;color:#ff3159}
.vpb-event-date span{padding-bottom:5px;font-size:.65rem;font-weight:900;text-transform:uppercase}
.vpb-event-main{min-width:0}
.vpb-event-type{display:block;margin-bottom:7px;color:#d9ff27;font-size:.62rem;font-weight:1000;text-transform:uppercase}
.vpb-event-main h3{margin:0;font-family:var(--vpb-serif);font-size:clamp(1.7rem,3vw,2.65rem);font-weight:500;line-height:.95;letter-spacing:-.035em}
.vpb-event-main p{margin:8px 0 0;color:#929297;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vpb-event-arrow{justify-self:end;font-size:2.5rem;line-height:1}
.vpb-event-row:hover .vpb-event-arrow,.vpb-event-row:hover h3 a{color:#ff3159}

/* Managed content archives */
.vpb-managed-archive{padding:58px 0 90px}
.vpb-managed-archive .vpb-showcase-intro{margin-bottom:50px}
.vpb-guide-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vpb-guide-archive-grid .vpb-guide-card{min-height:590px}
.vpb-event-archive .vpb-event-list{margin-top:20px}
.vpb-event-single-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin:22px 0 0;color:var(--vpb-muted);font-size:.82rem}
.vpb-event-single-meta strong{color:#d9ff27;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em}

@media(max-width:1180px){
  .vpb-guides-showcase .vpb-guide-track{grid-auto-columns:calc((100% - 36px)/3)}
  .vpb-event-row{grid-template-columns:88px 96px minmax(0,1fr) 56px}
  .vpb-guide-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .vpb-showcase-intro{align-items:flex-start;flex-direction:column}
  .vpb-showcase-all{align-self:flex-start}
  .vpb-guides-showcase .vpb-guide-track{grid-auto-columns:62%}
  .vpb-event-row{grid-template-columns:72px 82px minmax(0,1fr) 44px;gap:14px;min-height:102px}
  .vpb-event-logo{width:68px;height:68px}
  .vpb-event-date strong{font-size:2.3rem}
  .vpb-event-arrow{font-size:2rem}
}
@media(max-width:650px){
  .vpb-editorial-section{margin-top:66px}
  .vpb-showcase-intro{margin-bottom:26px}
  .vpb-showcase-intro h2{font-size:clamp(3rem,16vw,5rem)}
  .vpb-guides-showcase .vpb-guide-track{grid-auto-columns:88%;gap:12px}
  .vpb-guides-showcase .vpb-guide-card{min-height:530px}
  .vpb-guide-topline{padding:22px 20px 13px}.vpb-guide-media{margin:8px 20px 0}.vpb-guides-showcase .vpb-guide-copy{padding:21px 20px 24px}
  .vpb-event-row{grid-template-columns:58px 64px minmax(0,1fr) 30px;gap:10px;padding:10px 0}
  .vpb-event-logo{width:54px;height:54px;font-size:.8rem}
  .vpb-event-date{display:block}.vpb-event-date strong{display:block;font-size:1.95rem}.vpb-event-date span{display:block;margin-top:3px;padding:0;font-size:.56rem}
  .vpb-event-main h3{font-size:1.45rem}.vpb-event-main p{font-size:.68rem}.vpb-event-arrow{font-size:1.6rem}
  .vpb-guide-archive-grid{grid-template-columns:1fr}
}

/* Archive guide cards share the same editorial card system. */
.vpb-guide-archive-grid .vpb-guide-card{display:flex;flex-direction:column;border:1px solid #454548;border-radius:0;background:#111;overflow:hidden;color:#fff}
.vpb-guide-archive-grid .vpb-guide-card::after{display:none}
.vpb-guide-archive-grid .vpb-guide-copy{position:static;display:flex;flex:1;flex-direction:column;padding:24px 28px 29px}
.vpb-guide-archive-grid .vpb-guide-copy h3{margin:0;font-family:var(--vpb-serif);font-size:clamp(2rem,3vw,3.2rem);font-weight:500;line-height:.92;letter-spacing:-.045em}
.vpb-guide-archive-grid .vpb-guide-copy p{margin:26px 0;color:inherit;opacity:.82;font-size:.9rem;line-height:1.55}

/* VPB 3 — Core driven builder + design system */
.vpb-home-module{--vpb-module-pt:var(--vpb-section-space,88px);--vpb-module-pb:var(--vpb-section-space,88px);--vpb-module-max:var(--vpb-max);--vpb-module-title:var(--vpb-section-title,72px);--vpb-module-bg:transparent;--vpb-module-text:var(--vpb-text);padding-block:var(--vpb-module-pt) var(--vpb-module-pb);background:var(--vpb-module-bg);color:var(--vpb-module-text)}
.vpb-home-module>.vpb-wrap,.vpb-home-module .vpb-module-inner{max-width:var(--vpb-module-max)}
.vpb-editorial-builder-module{padding-bottom:var(--vpb-module-pb)}
.vpb-editorial-builder-module .vpb-home-top{max-width:var(--vpb-module-max)}
.vpb-showcase-intro h2{font-size:clamp(2.4rem,5vw,var(--vpb-module-title));font-family:var(--vpb-serif)}
.vpb-hero h1{font-size:clamp(3rem,6vw,var(--vpb-hero-title,86px))}
.vpb-home-module.vpb-guides-showcase .vpb-guide-copy h3{font-size:clamp(1.8rem,2.6vw,var(--vpb-guide-title,46px))}.vpb-post-card h3,.vpb-playlist-copy h3{font-size:var(--vpb-card-title,25px)}
.vpb-event-main h3{font-size:clamp(2rem,3.4vw,var(--vpb-event-title,48px))}
.vpb-core-logo{display:inline-flex;align-items:center}.vpb-core-logo img{display:block;width:auto;max-height:58px}.vpb-logo-desktop img{max-width:var(--vpb-logo-width,250px)}.vpb-logo-mobile-wrap{display:none}.vpb-logo-mobile img{max-width:var(--vpb-logo-mobile-width,190px)}.vpb-logo-footer img{max-width:var(--vpb-footer-logo-width,220px);max-height:90px}.vpb-footer-brand-wrap{margin-bottom:12px}
.vpb-plugin-area{margin-top:42px;border-top:1px solid var(--vpb-line);padding-top:18px}.vpb-plugin-area-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.vpb-plugin-area-head h2{margin:0;font-size:1.3rem;letter-spacing:-.03em}.vpb-plugin-area-head p{margin:0;max-width:620px;color:var(--vpb-muted);font-family:var(--vpb-serif)}.vpb-plugin-area-content,.vpb-plugin-standalone{min-width:0}.vpb-plugin-area-content>*:first-child,.vpb-plugin-standalone>*:first-child{margin-top:0}.vpb-plugin-empty{display:flex;flex-direction:column;gap:5px;padding:24px;border:1px dashed var(--vpb-line);background:var(--vpb-surface);color:var(--vpb-muted)}.vpb-plugin-empty strong{color:var(--vpb-text)}.vpb-third-party-widget{min-width:0}.vpb-plugin-widget-title{font-size:1.1rem}
.vpb-section-description{max-width:760px;margin:20px 0 0;color:var(--vpb-muted);font-family:var(--vpb-serif);font-size:1.08rem;line-height:1.5}
.vpb-playlist-subtitle{display:block;margin:0 0 8px;color:var(--vpb-accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.vpb-spotify-embed{position:relative;z-index:3;border-radius:10px;margin:10px 0 13px}.vpb-playlist-card.has-spotify-embed{min-height:470px}
.vpb-post-grid{display:grid;grid-template-columns:repeat(var(--vpb-post-cols,3),minmax(0,1fr));gap:22px}.vpb-post-card{min-width:0}.vpb-post-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--vpb-surface-2);margin-bottom:13px}.vpb-post-card-media img,.vpb-post-card-media .vpb-placeholder{width:100%;height:100%;object-fit:cover;min-height:0}.vpb-post-card h3{margin:7px 0 8px;line-height:1.04;letter-spacing:-.035em}.vpb-post-card p{margin:0;color:var(--vpb-muted);font-family:var(--vpb-serif)}
.vpb-custom-content{font-family:var(--vpb-serif);font-size:1.08rem;line-height:1.65}.vpb-custom-content>*:first-child{margin-top:0}.vpb-custom-content a{text-decoration:underline;text-decoration-color:var(--vpb-accent);text-underline-offset:3px}
@media(max-width:900px){.vpb-logo-desktop-wrap{display:none}.vpb-logo-mobile-wrap{display:block}.vpb-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vpb-plugin-area-head{display:block}.vpb-plugin-area-head p{margin-top:8px}}
@media(max-width:700px){.vpb-wrap{width:min(calc(100% - (var(--vpb-gutter-mobile,18px) * 2)),var(--vpb-max))}.vpb-home-module{padding-block:calc(var(--vpb-module-pt) * .7) calc(var(--vpb-module-pb) * .7)}.vpb-related{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vpb-post-grid{grid-template-columns:1fr}.vpb-showcase-intro h2{font-size:clamp(2.2rem,13vw,4.3rem)}}

/* =========================================================
   VPB 3.1 — requested editorial refinements
   ========================================================= */

/* Home chrome: keep the 70/30 divider, remove decorative grey rules. */
.vpb-builder-home .vpb-home-top{border-inline:0}
.vpb-builder-home .vpb-home-sidebar{border-left:1px solid var(--vpb-line)}
.vpb-builder-home .vpb-side-block{border-bottom:0;margin-bottom:34px;padding-bottom:0}
.vpb-builder-home .vpb-side-title::after{display:none}
.vpb-builder-home .vpb-recent-item{border-bottom:0;padding-block:10px}
.vpb-builder-home .vpb-plugin-area{border-top:0;padding-top:0;margin-top:38px}
.vpb-builder-home .vpb-tweet-card,.vpb-builder-home .vpb-tag-cloud a{border-color:rgba(255,255,255,.13)}

/* Main featured post: fixed editorial 5 × 4 frame. */
.vpb-hero{aspect-ratio:5/4;min-height:0;height:auto}
.vpb-hero-media{position:absolute;inset:0;width:100%;height:100%}
.vpb-hero-media img,.vpb-hero-media .vpb-placeholder{width:100%;height:100%;object-fit:cover;min-height:0}

/* Four related posts below the hero — compact 2×2 rows inspired by reference 1. */
.vpb-related{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 34px;margin-top:32px}
.vpb-mini-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;border:0;padding:0;min-width:0}
.vpb-mini-thumb{border-radius:4px;aspect-ratio:1/1}
.vpb-mini-thumb img,.vpb-mini-thumb .vpb-placeholder{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;min-height:0}
.vpb-mini-copy{min-width:0}
.vpb-mini-card .vpb-kicker{display:inline-block;margin-bottom:7px}
.vpb-mini-card h2{margin:0;font-size:clamp(1.05rem,1.55vw,1.5rem);line-height:1.02;letter-spacing:-.04em}
.vpb-mini-card .vpb-meta{margin-top:10px;font-size:.66rem}

/* Events: no cover image, date comes first, whole row opens an internal modal. */
.vpb-events-layout{display:block}
.vpb-events-layout.is-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:0;align-items:start}
.vpb-events-widget-col{min-width:0;border-left:1px solid var(--vpb-line);padding-left:30px;margin-left:30px;min-height:100%}
.vpb-events-widget-col>h3{margin:0 0 18px;color:var(--vpb-accent);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}
.vpb-event-list{border-top:0}
.vpb-event-row{display:block;min-height:0;border-bottom:1px solid rgba(255,255,255,.13);padding:0}
.vpb-event-row:last-child{border-bottom:0}
.vpb-event-row-button{display:grid;width:100%;grid-template-columns:125px minmax(0,1fr) 56px;gap:24px;align-items:center;padding:21px 8px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.vpb-event-date{display:flex;align-items:flex-end;gap:9px;line-height:1}
.vpb-event-date strong{font-size:3.4rem;letter-spacing:-.075em;color:#ff3159}
.vpb-event-date span{padding-bottom:6px;font-size:.66rem;font-weight:900;text-transform:uppercase}
.vpb-event-main{display:block;min-width:0}
.vpb-event-type{display:block;margin-bottom:7px;color:#d9ff27;font-size:.62rem;font-weight:1000;text-transform:uppercase}
.vpb-event-title{display:block;font-family:var(--vpb-serif);font-size:clamp(1.8rem,3.1vw,var(--vpb-event-title,48px));font-weight:500;line-height:.95;letter-spacing:-.035em}
.vpb-event-detail-line{display:block;margin-top:8px;color:#929297;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vpb-event-arrow{justify-self:end;font-size:2.4rem;line-height:1}
.vpb-event-row-button:hover .vpb-event-title,.vpb-event-row-button:hover .vpb-event-arrow{color:#ff3159}
.vpb-event-list.is-compact .vpb-event-row-button{grid-template-columns:78px minmax(0,1fr) 34px;gap:14px;padding:12px 4px}
.vpb-event-list.is-compact .vpb-event-date strong{font-size:2rem}
.vpb-event-list.is-compact .vpb-event-date span{font-size:.54rem;padding-bottom:3px}
.vpb-event-list.is-compact .vpb-event-type{font-size:.52rem;margin-bottom:4px}
.vpb-event-list.is-compact .vpb-event-title{font-size:clamp(1.08rem,1.65vw,1.6rem)}
.vpb-event-list.is-compact .vpb-event-detail-line{font-size:.64rem;margin-top:5px}
.vpb-event-list.is-compact .vpb-event-arrow{font-size:1.45rem}

/* Event modal. */
html.vpb-modal-open{overflow:hidden}
.vpb-event-modal[hidden]{display:none!important}
.vpb-event-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:24px}
.vpb-event-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}
.vpb-event-modal-dialog{position:relative;z-index:1;width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:#111114;border:1px solid rgba(255,255,255,.16);padding:34px;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.vpb-event-modal-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.vpb-event-modal-type{display:block;padding-right:36px;color:#d9ff27;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.vpb-event-modal-dialog h3{margin:10px 35px 18px 0;font-family:var(--vpb-serif);font-size:clamp(2.2rem,6vw,4rem);font-weight:500;line-height:.92;letter-spacing:-.045em}
.vpb-event-modal-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:20px;color:#aaa9a4;font-size:.78rem}
.vpb-event-modal-meta strong{color:#ff3159}
.vpb-event-modal-dialog p{margin:0;color:#e2e0d8;font:1.05rem/1.55 var(--vpb-serif)}
.vpb-event-modal-cta{display:inline-flex;margin-top:24px;padding-bottom:5px;border-bottom:2px solid #ff3159;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}

/* Playlists: three selectable visual systems + per-item sizes. */
.vpb-playlist-grid{grid-template-columns:repeat(var(--vpb-playlist-cols,4),minmax(0,1fr));align-items:stretch}
.vpb-playlist-item{min-width:0}
.vpb-playlist-item.vpb-playlist-size-large{grid-column:span 2}
.vpb-playlist-item.vpb-playlist-size-small .vpb-playlist-card{min-height:270px}
.vpb-playlist-item.vpb-playlist-size-medium .vpb-playlist-card{min-height:340px}
.vpb-playlist-item.vpb-playlist-size-large .vpb-playlist-card{min-height:430px}
.vpb-playlist-item .vpb-playlist-card{height:100%}
.vpb-playlist-view-compact{display:flex;gap:15px;align-items:center;min-height:128px;padding:14px;background:var(--vpb-surface);border-radius:10px}
.vpb-playlist-compact-media{flex:0 0 96px;width:96px;height:96px;overflow:hidden;border-radius:7px;background:var(--vpb-surface-2)}
.vpb-playlist-size-small .vpb-playlist-compact-media{flex-basis:74px;width:74px;height:74px}
.vpb-playlist-size-large .vpb-playlist-compact-media{flex-basis:132px;width:132px;height:132px}
.vpb-playlist-compact-media img,.vpb-playlist-compact-media .vpb-placeholder{width:100%;height:100%;object-fit:cover;min-height:0}
.vpb-playlist-compact-copy{min-width:0}.vpb-playlist-compact-copy h3{margin:5px 0 7px;font-size:1.15rem;line-height:1.02;letter-spacing:-.03em}
.vpb-playlist-view-player{background:var(--vpb-surface);border-radius:12px;overflow:hidden;padding:10px}
.vpb-playlist-view-player .vpb-spotify-embed{display:block;margin:0;border:0;border-radius:9px}
.vpb-playlist-player-copy{padding:12px 8px 7px}.vpb-playlist-player-copy h3{margin:5px 0 7px;font-size:1.1rem;line-height:1.03}

/* Reference 2 — ranked list module. */
.vpb-ranked-posts-showcase .vpb-showcase-intro{border-top:4px solid var(--vpb-accent);padding-top:18px;margin-bottom:24px}
.vpb-ranked-posts-showcase .vpb-showcase-intro h2{font-family:var(--vpb-sans);font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.045em}
.vpb-ranked-list{list-style:none;margin:0;padding:0 0 0 74px}
.vpb-ranked-list li{display:grid;grid-template-columns:84px minmax(0,1fr);gap:34px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.vpb-ranked-list li:last-child{border-bottom:0}
.vpb-rank-number{display:grid;place-items:center;width:84px;height:84px;background:#303033;border-radius:3px;font-size:2.3rem}
.vpb-ranked-copy h3{margin:0;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.02;letter-spacing:-.035em}
.vpb-ranked-meta{display:flex;gap:22px;margin-top:12px;font-size:.77rem;text-transform:uppercase;letter-spacing:.08em;color:#8c8b88}.vpb-ranked-meta span{color:var(--vpb-accent)}

/* Reference 3 — category spotlight module. */
.vpb-category-feature-showcase .vpb-module-inner{border-top:4px solid var(--vpb-accent);padding-top:17px}
.vpb-topic-head{margin-bottom:32px}.vpb-topic-head>.vpb-kicker{display:block;margin-bottom:8px}.vpb-topic-headline{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.vpb-topic-headline h2{margin:0;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1;letter-spacing:-.045em}.vpb-topic-headline h2 span{color:var(--vpb-accent)}.vpb-topic-headline p{margin:0;color:#d8d6d0;font-size:clamp(1.35rem,2.4vw,2.25rem);line-height:1.1;font-weight:350}
.vpb-topic-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:44px}
.vpb-topic-lead-media{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--vpb-surface-2)}.vpb-topic-lead-media img,.vpb-topic-lead-media .vpb-placeholder{width:100%;height:100%;object-fit:cover;min-height:0}
.vpb-topic-lead h3{margin:18px 0 8px;font-size:clamp(2rem,3.4vw,3.4rem);line-height:.98;letter-spacing:-.045em}.vpb-topic-lead p{margin:0;color:#dedcd6;font:clamp(1.15rem,1.8vw,1.7rem)/1.25 var(--vpb-serif)}
.vpb-topic-side{display:flex;flex-direction:column}.vpb-topic-side-item{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:22px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.13)}.vpb-topic-side-item:first-child{padding-top:0}.vpb-topic-side-item h3{margin:0 0 8px;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.02;letter-spacing:-.035em}.vpb-topic-side-item p{margin:0;color:#d3d1ca;font:1.05rem/1.3 var(--vpb-serif)}.vpb-topic-side-media{width:112px;height:112px;overflow:hidden;border-radius:4px}.vpb-topic-side-media img,.vpb-topic-side-media .vpb-placeholder{width:100%;height:100%;object-fit:cover;min-height:0}.vpb-topic-cta{align-self:center;margin-top:25px;color:var(--vpb-accent);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}

/* Blog page — regular posts only. */
.vpb-blog-page{padding-block:58px 90px}.vpb-blog-head{border-top:4px solid var(--vpb-accent);padding-top:18px;margin-bottom:34px}.vpb-blog-head h1{margin:0;font-size:clamp(3rem,7vw,7rem);line-height:.88;letter-spacing:-.055em}.vpb-blog-head p{max-width:720px;color:var(--vpb-muted);font:1.15rem/1.45 var(--vpb-serif)}.vpb-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.vpb-blog-grid .vpb-card{border-bottom:0;padding-bottom:0}

/* Footer: header logo enlarged, menu right, tiny social icons below the rule. */
.site-footer{padding:52px 0 34px}
.vpb-footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:start}
.vpb-footer-brand-wrap{margin:0}.vpb-footer-brand-wrap .vpb-logo-desktop img,.vpb-footer-brand-wrap .custom-logo-link img{max-width:calc(var(--vpb-logo-width,250px) * 1.18);max-height:88px}
.vpb-footer-copy{max-width:470px;margin-top:16px}
.site-footer nav{justify-self:end}.site-footer nav ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;max-width:660px}.site-footer nav a{font-size:.78rem}
.vpb-footer-lower{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px;padding-top:18px;border-top:1px solid var(--vpb-line)}
.vpb-footer-bottom{margin:0;padding:0;border:0}
.vpb-social-icons{display:flex;gap:8px;align-items:center}.vpb-social-icons a{display:grid;place-items:center;width:27px;height:27px;color:#aaa9a4;border-radius:50%}.vpb-social-icons a:hover{color:var(--vpb-accent);background:rgba(72,245,206,.08)}.vpb-social-icons svg{width:15px;height:15px;display:block}

@media(max-width:1100px){
  .vpb-mini-card{grid-template-columns:104px minmax(0,1fr)}
  .vpb-events-layout.is-split{grid-template-columns:minmax(0,1fr) 300px}
  .vpb-ranked-list{padding-left:20px}
  .vpb-topic-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:30px}
  .vpb-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .vpb-builder-home .vpb-home-sidebar{border-left:0;border-top:0}
  .vpb-events-layout.is-split{display:block}.vpb-events-widget-col{border-left:0;border-top:1px solid var(--vpb-line);padding:25px 0 0;margin:28px 0 0}
  .vpb-playlist-item.vpb-playlist-size-large{grid-column:span 1}
  .vpb-topic-grid{grid-template-columns:1fr}.vpb-topic-side-item{grid-template-columns:minmax(0,1fr) 96px}.vpb-topic-side-media{width:96px;height:96px}
  .vpb-footer-top{grid-template-columns:1fr}.site-footer nav{justify-self:start}.site-footer nav ul{justify-content:flex-start}
}
@media(max-width:700px){
  .vpb-hero{aspect-ratio:5/4!important;min-height:0!important;height:auto!important}.vpb-hero-media,.vpb-hero-media img{height:100%!important;min-height:0!important}
  .vpb-related{grid-template-columns:1fr!important;gap:20px}.vpb-mini-card{grid-template-columns:94px minmax(0,1fr);gap:14px}
  .vpb-event-row-button{grid-template-columns:68px minmax(0,1fr) 28px;gap:10px;padding:13px 0}.vpb-event-date strong{font-size:2rem}.vpb-event-date span{font-size:.52rem;padding-bottom:3px}.vpb-event-title{font-size:1.4rem}.vpb-event-detail-line{font-size:.66rem}.vpb-event-arrow{font-size:1.45rem}
  .vpb-event-modal{padding:12px}.vpb-event-modal-dialog{padding:27px 20px 24px}
  .vpb-playlist-grid{grid-template-columns:1fr!important}.vpb-playlist-item.vpb-playlist-size-large{grid-column:auto}
  .vpb-ranked-list{padding-left:0}.vpb-ranked-list li{grid-template-columns:58px minmax(0,1fr);gap:16px;padding:20px 0}.vpb-rank-number{width:58px;height:58px;font-size:1.7rem}
  .vpb-topic-headline{display:block}.vpb-topic-headline p{margin-top:8px}.vpb-topic-lead-media{aspect-ratio:5/4}.vpb-topic-side-item p{display:none}
  .vpb-blog-grid{grid-template-columns:1fr}
  .vpb-footer-lower{align-items:flex-start;flex-direction:column-reverse}.site-footer nav ul{display:grid;grid-template-columns:1fr 1fr}
}
/* On the homepage, horizontal grey separators are suppressed; structural 70/30 dividers remain. */
.vpb-builder-home .vpb-event-row,.vpb-builder-home .vpb-ranked-list li,.vpb-builder-home .vpb-topic-side-item{border-bottom:0}

/* ============================================================
   VPB 3.2 — flexible home columns / reference layouts
   ============================================================ */
.vpb-home-module{background:var(--vpb-module-bg,transparent);color:var(--vpb-module-text,inherit);font-family:var(--vpb-local-body-font,var(--vpb-font-ui,var(--vpb-sans)));font-weight:var(--vpb-local-body-weight,400)}
.vpb-home-module h1,.vpb-home-module h2,.vpb-home-module h3{font-family:var(--vpb-local-title-font,var(--vpb-font-ui,var(--vpb-sans)));font-weight:var(--vpb-local-title-weight,700)}
.vpb-home-module .vpb-kicker,.vpb-home-module .vpb-meta,.vpb-home-module small{font-family:var(--vpb-local-subtitle-font,var(--vpb-font-ui,var(--vpb-sans)));font-weight:var(--vpb-local-subtitle-weight,500)}
.vpb-home-module .vpb-kicker,.vpb-home-module a:hover{color:var(--vpb-module-accent,var(--vpb-accent))}
.vpb-flex-columns{display:grid;grid-template-columns:var(--vpb-flex-cols,1fr);gap:var(--vpb-column-gap,36px);align-items:start}.vpb-flex-column{min-width:0}.vpb-flex-columns>.vpb-flex-column+ .vpb-flex-column{border-left:1px solid var(--vpb-line);padding-left:var(--vpb-column-gap,36px)}.vpb-column-title{margin:0 0 20px;font-size:clamp(1.35rem,2vw,2rem)}
.vpb-content-view{display:grid;gap:22px}.vpb-view-item{min-width:0}.vpb-view-media{display:block;background:var(--vpb-surface-2);overflow:hidden}.vpb-view-media img,.vpb-view-media .vpb-placeholder{display:block;width:100%;height:100%;object-fit:cover;min-height:0}.vpb-view-copy h3{margin:5px 0 8px;font-size:1.25rem;line-height:1.02;letter-spacing:-.03em}.vpb-view-copy p{margin:0;color:var(--vpb-muted);line-height:1.35}.vpb-view-copy .vpb-meta{margin-top:9px}
/* Header / Big post */
.vpb-content-view-header .vpb-view-item:first-child,.vpb-content-view-big .vpb-view-item:first-child{display:grid}.vpb-content-view-header .vpb-view-media{aspect-ratio:5/4}.vpb-content-view-big .vpb-view-media{aspect-ratio:16/8}.vpb-content-view-header .vpb-view-copy,.vpb-content-view-big .vpb-view-copy{padding:16px 0}.vpb-content-view-header .vpb-view-copy h3,.vpb-content-view-big .vpb-view-copy h3{font-size:clamp(2rem,4vw,4.4rem)}
/* Grade + six */
.vpb-content-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vpb-content-view-six{grid-template-columns:repeat(3,minmax(0,1fr))}.vpb-content-view-grid .vpb-view-media,.vpb-content-view-six .vpb-view-media{aspect-ratio:4/3;border-radius:5px}
/* Compact reference: 2x2 with thumb at left */
.vpb-content-view-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.vpb-content-view-compact .vpb-view-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:22px 0}.vpb-content-view-compact .vpb-view-media{width:112px;height:112px;border-radius:5px}.vpb-content-view-compact .vpb-view-copy p{display:none}
/* lateral systems */
.vpb-content-view-lateral .vpb-view-item,.vpb-content-view-lateral_covers .vpb-view-item,.vpb-content-view-lateral70 .vpb-view-item{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:15px;align-items:center}.vpb-content-view-lateral .vpb-view-media,.vpb-content-view-lateral_covers .vpb-view-media,.vpb-content-view-lateral70 .vpb-view-media{grid-column:2;width:96px;height:76px;border-radius:5px}.vpb-content-view-lateral .vpb-view-copy,.vpb-content-view-lateral_covers .vpb-view-copy,.vpb-content-view-lateral70 .vpb-view-copy{grid-column:1;grid-row:1}.vpb-content-view-lateral_circle .vpb-view-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px;align-items:center}.vpb-content-view-lateral_circle .vpb-view-media{width:76px;height:76px;border-radius:50%}.vpb-content-view-lateral_circle .vpb-view-copy p{display:none}
/* numbered/trending/timeline */
.vpb-content-view-list .vpb-view-item,.vpb-content-view-lateral_lines .vpb-view-item,.vpb-content-view-timeline .vpb-view-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;position:relative}.vpb-content-view-list .vpb-view-media,.vpb-content-view-lateral_lines .vpb-view-media,.vpb-content-view-timeline .vpb-view-media{display:none}.vpb-view-rank{font-size:1.4rem;color:var(--vpb-module-accent,var(--vpb-accent));font-weight:700}.vpb-content-view-timeline .vpb-view-item:before{content:"";position:absolute;left:19px;top:31px;bottom:-24px;width:1px;background:var(--vpb-line)}.vpb-content-view-timeline .vpb-view-item:last-child:before{display:none}
/* horizontal views */
.vpb-content-view-horizontal4{grid-template-columns:repeat(4,minmax(0,1fr))}.vpb-content-view-horizontal4 .vpb-view-media{aspect-ratio:4/3;border-radius:6px}.vpb-content-view-horizontal_medium .vpb-view-item{display:grid;grid-template-columns:1.25fr .85fr;gap:28px;align-items:center}.vpb-content-view-horizontal_medium .vpb-view-media{aspect-ratio:16/10}.vpb-content-view-editor_choice .vpb-view-item:first-child{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.vpb-content-view-editor_choice .vpb-view-item:first-child .vpb-view-media{aspect-ratio:4/3}.vpb-content-view-editor_choice .vpb-view-item:not(:first-child){display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}.vpb-content-view-editor_choice .vpb-view-item:not(:first-child) .vpb-view-media{width:72px;height:72px}
/* Categories */
.vpb-category-slider{display:flex;gap:14px;overflow:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.vpb-category-slider a{flex:0 0 auto;display:grid;place-items:center;background:var(--vpb-surface);border:1px solid rgba(255,255,255,.1);color:inherit;text-align:center;scroll-snap-align:start}.vpb-category-shape-rounded a{min-width:170px;padding:24px 28px;border-radius:20px}.vpb-category-shape-circle a{width:138px;height:138px;border-radius:50%;padding:18px}.vpb-category-slider span{font-weight:700;font-size:.9rem}
/* Tags + search */
.vpb-tag-cloud-pills{display:flex;flex-wrap:wrap;gap:9px}.vpb-tag-cloud-pills a{display:inline-flex;padding:9px 14px;border-radius:9px;background:#343639;color:#ccc;font-size:.92rem;line-height:1}.vpb-tag-cloud-pills a:hover{background:var(--vpb-module-accent,var(--vpb-accent));color:#0a0a0b}.vpb-search-tags{display:flex;align-items:center;gap:20px}.vpb-search-tags form{display:flex;align-items:center;min-width:220px}.vpb-search-tags input{width:100%;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:10px 4px}.vpb-search-tags button{border:0;background:transparent;color:inherit;font-size:1.5rem}.vpb-search-tags-strip .vpb-tag-cloud-pills{flex-wrap:nowrap;overflow:auto}.vpb-search-tags-strip .vpb-tag-cloud-pills a{background:transparent;padding:7px 0;border-radius:0;white-space:nowrap}.vpb-search-tags-strip .vpb-tag-cloud-pills a:not(:last-child):after{content:" / ";margin-left:14px;color:var(--vpb-muted)}
/* Article share rail + reactions */
.vpb-article-with-share{position:relative}.vpb-share-rail{position:absolute;right:calc(100% + 42px);top:180px;width:92px;display:flex;flex-direction:column;align-items:center;gap:12px}.vpb-share-rail strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--vpb-muted)}.vpb-share-rail a,.vpb-share-rail button{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#edf0f5;color:#111;border:0;font-weight:800;cursor:pointer}.vpb-share-rail a:hover,.vpb-share-rail button:hover{background:var(--vpb-accent)}.vpb-reactions{margin-top:64px;padding:34px 0;border-top:1px solid var(--vpb-line);border-bottom:1px solid var(--vpb-line)}.vpb-reactions h2{margin:0 0 24px;font-family:var(--vpb-serif);font-size:clamp(2rem,4vw,4rem);font-weight:500}.vpb-reaction-buttons{display:flex;flex-wrap:wrap;gap:28px}.vpb-reaction-buttons button{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:inherit;cursor:pointer}.vpb-reaction-buttons button.is-selected{transform:scale(1.08)}.vpb-reaction-emoji{font-size:2.7rem}.vpb-reaction-buttons b{color:#b11f3e;font-size:1.15rem}.vpb-post-tags{margin-top:42px}.vpb-post-tags>span{display:block;margin-bottom:12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--vpb-muted)}
.vpb-artist-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}.vpb-artist-archive-media{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:50%}.vpb-artist-archive-media img{width:100%;height:100%;object-fit:cover}.vpb-artist-archive-grid h2{text-align:center;font-size:1.25rem}
@media(max-width:1200px){.vpb-share-rail{position:static;width:auto;flex-direction:row;justify-content:flex-start;margin:0 0 28px}.vpb-share-rail strong{margin-right:6px}.vpb-artist-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.vpb-flex-columns{grid-template-columns:1fr!important}.vpb-flex-columns>.vpb-flex-column+.vpb-flex-column{border-left:0;border-top:1px solid var(--vpb-line);padding-left:0;padding-top:30px}.vpb-content-view-six,.vpb-content-view-horizontal4{grid-template-columns:repeat(2,minmax(0,1fr))}.vpb-search-tags{align-items:flex-start;flex-direction:column}.vpb-artist-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vpb-content-view-grid,.vpb-content-view-six,.vpb-content-view-compact,.vpb-content-view-horizontal4{grid-template-columns:1fr}.vpb-content-view-horizontal_medium .vpb-view-item,.vpb-content-view-editor_choice .vpb-view-item:first-child{grid-template-columns:1fr}.vpb-category-shape-circle a{width:110px;height:110px}.vpb-reaction-buttons{gap:16px}.vpb-reaction-emoji{font-size:2.2rem}}
.vpb-flex-events{display:grid;gap:0}.vpb-flex-event{width:100%;display:grid;grid-template-columns:100px minmax(0,1fr) 34px;align-items:center;gap:16px;padding:18px 0;border:0;border-bottom:1px solid var(--vpb-line);background:transparent;color:inherit;text-align:left;cursor:pointer}.vpb-flex-event time{color:var(--vpb-module-accent,var(--vpb-accent));font-weight:800;font-size:1rem}.vpb-flex-event span{display:flex;flex-direction:column;gap:5px}.vpb-flex-event strong{font-size:1.3rem}.vpb-flex-event small{color:var(--vpb-muted)}.vpb-flex-event b{font-size:1.4rem}.vpb-flex-event:hover strong{color:var(--vpb-module-accent,var(--vpb-accent))}

/* =========================================================
   3.3 — Visual Builder integration + Events archive cleanup
   ========================================================= */
/* The home header/footer are intentionally borderless. */
.home .site-header{border-bottom:0!important}
.home .site-footer{border-top:0!important}
.home .site-footer .vpb-footer-lower{border-top:0!important}

/* Events archive: stable proportions, no cover image, date is the first visual datum. */
.vpb-event-archive-title{margin:0;font-family:var(--vpb-serif);font-size:clamp(3.6rem,8vw,7.6rem);font-weight:500;line-height:.9;letter-spacing:-.055em}
.vpb-event-archive .vpb-event-list{margin-top:20px;border-top:0}
.vpb-event-archive .vpb-event-row{display:block;min-height:0;padding:0;border-bottom:1px solid rgba(255,255,255,.12)}
.vpb-event-archive .vpb-event-row:last-child{border-bottom:0}
.vpb-event-archive .vpb-event-row-button{display:grid;width:100%;grid-template-columns:120px minmax(0,1fr) 50px;gap:22px;align-items:center;min-height:116px;padding:20px 6px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.vpb-event-archive .vpb-event-date{display:flex;align-items:flex-end;gap:8px;line-height:1}
.vpb-event-archive .vpb-event-date strong{font-size:3.15rem;line-height:.85;letter-spacing:-.075em;color:#ff3159}
.vpb-event-archive .vpb-event-date span{padding-bottom:4px;font-size:.62rem;font-weight:900;text-transform:uppercase}
.vpb-event-archive .vpb-event-main{display:block;min-width:0}
.vpb-event-archive .vpb-event-type{display:block;margin-bottom:6px;color:#d9ff27;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.vpb-event-archive .vpb-event-title{display:block;font-family:var(--vpb-serif);font-size:clamp(1.65rem,2.8vw,2.7rem);font-weight:500;line-height:.98;letter-spacing:-.035em}
.vpb-event-archive .vpb-event-detail-line{display:block;margin-top:7px;color:#929297;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vpb-event-archive .vpb-event-arrow{justify-self:end;font-size:2rem;line-height:1}
.vpb-event-archive .vpb-event-row-button:hover .vpb-event-title,.vpb-event-archive .vpb-event-row-button:hover .vpb-event-arrow{color:#ff3159}
@media(max-width:700px){.vpb-event-archive .vpb-event-row-button{grid-template-columns:74px minmax(0,1fr) 28px;gap:12px;min-height:92px;padding:14px 0}.vpb-event-archive .vpb-event-date strong{font-size:2.15rem}.vpb-event-archive .vpb-event-date span{font-size:.52rem}.vpb-event-archive .vpb-event-title{font-size:1.45rem}.vpb-event-archive .vpb-event-detail-line{font-size:.65rem}.vpb-event-archive .vpb-event-arrow{font-size:1.4rem}}

/* =========================================================
   VPB 3.4 — limpeza visual, cards de guias e builder renderer
   ========================================================= */
/* Artigos e guias sem sidebar: largura editorial centralizada. */
.vpb-single-full{display:block!important;border:0!important}.vpb-single-full>.vpb-content{max-width:980px;margin:0 auto;padding-inline:clamp(18px,3vw,44px)}

/* Header / destaque 5x4: texto sobre a imagem. */
.vpb-content-view-header .vpb-view-item:first-child{position:relative;display:block;overflow:hidden;border-radius:var(--vpb-radius);min-height:clamp(430px,58vw,720px);isolation:isolate}
.vpb-content-view-header .vpb-view-media{display:block;width:100%;height:100%;aspect-ratio:5/4;position:absolute;inset:0}.vpb-content-view-header .vpb-view-media img,.vpb-content-view-header .vpb-view-media .vpb-placeholder{width:100%;height:100%;object-fit:cover;border-radius:0}
.vpb-content-view-header .vpb-view-item:first-child:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(7,7,8,.94) 0%,rgba(7,7,8,.48) 44%,rgba(7,7,8,.06) 76%);pointer-events:none}
.vpb-content-view-header .vpb-view-copy{position:absolute;z-index:2;left:clamp(22px,4vw,54px);right:clamp(22px,4vw,54px);bottom:clamp(22px,4vw,50px);padding:0;color:#fff}.vpb-content-view-header .vpb-view-copy h3{max-width:900px;margin:.12em 0;font-size:clamp(2.3rem,5vw,5.4rem);line-height:.88;letter-spacing:-.055em}.vpb-content-view-header .vpb-view-copy p{max-width:720px;margin:.65rem 0 0;font-family:var(--vpb-serif);font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.28;color:rgba(255,255,255,.9)}

/* Múltiplos elementos podem viver na mesma coluna. */
.vpb-flex-column-stacked{display:grid;align-content:start;gap:clamp(36px,5vw,72px)}.vpb-flex-item{min-width:0}.vpb-flex-item>.vpb-column-title{font-family:var(--vpb-local-title-font,var(--vpb-sans));font-weight:var(--vpb-local-title-weight,700)}

/* Guias em cards editoriais, como a referência. */
.vpb-guide-cards-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vpb-guide-cards-inline.is-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.vpb-guide-cards-inline.is-slider .vpb-guide-card-inline{flex:0 0 min(430px,84vw);scroll-snap-align:start}
.vpb-guide-card-inline{display:flex;min-height:610px;flex-direction:column;overflow:hidden;background:#101011;color:#f8f6f1;border:0;border-radius:0}.vpb-guide-card-inline.vpb-guide-pink{background:#ff3159!important;color:#0d0d0e!important}.vpb-guide-card-inline.vpb-guide-light{background:#ece8df!important;color:#111!important}.vpb-guide-card-inline.vpb-guide-wine{background:#421d22!important;color:#fff!important}.vpb-guide-card-inline .vpb-guide-topline{display:flex;justify-content:space-between;gap:20px;padding:28px 28px 18px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.vpb-guide-card-inline .vpb-guide-media{display:block;margin:0 28px;aspect-ratio:16/9;overflow:hidden;background:#1d1d20}.vpb-guide-card-inline .vpb-guide-media img,.vpb-guide-card-inline .vpb-guide-media .vpb-placeholder{width:100%;height:100%;object-fit:cover}.vpb-guide-card-inline .vpb-guide-copy{display:flex;flex:1;flex-direction:column;padding:28px}.vpb-guide-card-inline .vpb-guide-copy h3{margin:0;font-family:var(--vpb-serif);font-size:clamp(2rem,3vw,3.45rem);font-weight:500;line-height:.93;letter-spacing:-.05em}.vpb-guide-card-inline .vpb-guide-copy h3 a{color:inherit}.vpb-guide-card-inline .vpb-guide-copy p{margin:28px 0;color:inherit;opacity:.82;line-height:1.55}.vpb-guide-card-inline .vpb-card-cta{margin-top:auto;padding-top:18px;border:0;font-size:.68rem;font-weight:900;letter-spacing:.12em;color:inherit}

/* Eventos em lista editorial: data primeiro, sem capas. */
.vpb-flex-events{display:grid;gap:0}.vpb-flex-event{display:grid!important;grid-template-columns:118px minmax(0,1fr) 42px!important;gap:22px!important;align-items:center!important;width:100%;min-height:112px;padding:20px 6px!important;border:0!important;background:transparent!important;color:inherit!important;text-align:left;cursor:pointer}.vpb-flex-event-date{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:8px!important}.vpb-flex-event-date strong{font-size:3rem!important;line-height:.82!important;letter-spacing:-.075em;color:var(--vpb-hot)!important}.vpb-flex-event-date small{padding-bottom:4px;font-size:.59rem!important;font-weight:900;text-transform:uppercase;color:inherit!important}.vpb-flex-event-main{display:block!important}.vpb-flex-event-main em{display:block;margin-bottom:6px;color:var(--vpb-yellow);font-style:normal;font-size:.61rem;font-weight:900;text-transform:uppercase}.vpb-flex-event-main strong{display:block;font-family:var(--vpb-serif);font-size:clamp(1.65rem,2.7vw,2.65rem)!important;font-weight:500!important;line-height:.98}.vpb-flex-event-main small{display:block;margin-top:7px;color:var(--vpb-muted)!important;font-size:.76rem!important}.vpb-flex-event>b{justify-self:end;font-size:2rem!important;font-weight:400!important}

/* Categoria vertical com imagem de fundo e sem botões de voltar. */
.vpb-category-shape-vertical{display:grid!important;gap:16px;overflow:visible!important;padding:0!important}.vpb-category-shape-vertical a{position:relative;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%;min-height:108px;padding:20px 22px!important;overflow:hidden;border:0!important;border-radius:16px!important;background-image:linear-gradient(90deg,rgba(7,8,10,.78),rgba(7,8,10,.35)),var(--vpb-cat-bg,linear-gradient(135deg,#343945,#16171b))!important;background-position:center!important;background-size:cover!important;color:#fff!important;text-align:left!important}.vpb-category-shape-vertical a span{position:relative;z-index:1;font-size:clamp(1.3rem,2vw,2rem);font-weight:650}.vpb-category-shape-vertical a span small{font-size:.72em;font-weight:500}.vpb-category-shape-vertical a b{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:rgba(255,255,255,.16);font-size:1.8rem;font-weight:400}.vpb-category-shape-vertical a:hover b{background:var(--vpb-accent);color:#07120f}

/* Remover linhas cinzas decorativas em todo o front-end. As únicas linhas preservadas são:
   1) divisor entre colunas da Home; 2) divisor entre logo/menu e redes no rodapé. */
.site-header,.site-footer,.vpb-content-shell,.vpb-sidebar,.vpb-home-top,.vpb-home-sidebar,.vpb-section-head,.vpb-page-head,.vpb-mini-card,.vpb-side-block,.vpb-tweet-card,.vpb-tag-cloud a,.vpb-recent-item,.vpb-slider-btn,.vpb-event-card,.vpb-playlist-card,.vpb-card,.widget li,.page-numbers,.vpb-guides-showcase .vpb-guide-card,.vpb-guide-archive-grid .vpb-guide-card,.vpb-plugin-area,.vpb-plugin-empty,.vpb-content-view .vpb-view-item,.vpb-flex-event,.vpb-event-row,.vpb-event-archive .vpb-event-row,.vpb-reactions,.vpb-card-cta{border-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important;border-right-color:transparent!important}
.vpb-content-view-timeline .vpb-view-item:before{display:none!important}
/* preservar somente o divisor estrutural entre colunas da home */
.vpb-builder-home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column,.home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column{border-left:1px solid var(--vpb-line)!important}
/* preservar somente a linha antes da área de redes sociais do rodapé */
.site-footer .vpb-footer-lower{border-top:1px solid var(--vpb-line)!important}.site-footer .vpb-footer-bottom{border:0!important}
/* cabeçalho sempre sem linha */
.site-header{border-bottom:0!important}
/* cards de guia usam cor/superfície, não contorno cinza */
.vpb-guide-archive-grid .vpb-guide-card,.vpb-guide-cards-inline .vpb-guide-card-inline{border:0!important}
/* eventos de arquivo ficam espaçados, mas sem filetes horizontais */
.vpb-event-archive .vpb-event-row{border-bottom:0!important}.vpb-event-archive .vpb-event-row+.vpb-event-row{margin-top:6px}

@media(max-width:900px){.vpb-guide-cards-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.vpb-builder-home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column,.home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column{border-left:0!important;border-top:1px solid var(--vpb-line)!important}}
@media(max-width:620px){.vpb-guide-cards-inline{grid-template-columns:1fr}.vpb-guide-card-inline{min-height:520px}.vpb-flex-event{grid-template-columns:76px minmax(0,1fr) 28px!important;gap:12px!important;padding:14px 0!important}.vpb-flex-event-date strong{font-size:2.2rem!important}.vpb-flex-event-main strong{font-size:1.55rem!important}.vpb-content-view-header .vpb-view-item:first-child{min-height:500px}}
/* complementos da política de linhas do 3.4 */
.vpb-ranked-list li,.vpb-topic-side-item,.primary-nav,.primary-nav li,.vpb-event-list,.vpb-event-modal-dialog{border-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important;border-right-color:transparent!important}
.home .site-footer .vpb-footer-lower{border-top:1px solid var(--vpb-line)!important}
/* divisores reais de colunas continuam visíveis na Home, inclusive módulos legados */
.vpb-builder-home .vpb-home-sidebar{border-left:1px solid var(--vpb-line)!important}.vpb-builder-home .vpb-events-widget-col{border-left:1px solid var(--vpb-line)!important}
@media(max-width:900px){.vpb-builder-home .vpb-home-sidebar,.vpb-builder-home .vpb-events-widget-col{border-left:0!important;border-top:1px solid var(--vpb-line)!important}}

/* =========================================================
   VPB 3.4.1 — Guides layout stability + full-photo cards
   ========================================================= */
a.vpb-guide-card,
a.vpb-guide-card-inline{color:inherit;text-decoration:none}
.vpb-guide-cards-inline{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.vpb-guide-card-inline{position:relative;min-width:0;height:100%}
.vpb-guide-card-inline .vpb-guide-copy{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto;min-width:0}
.vpb-guide-card-inline .vpb-guide-copy h3{overflow-wrap:anywhere}
.vpb-guide-card-inline .vpb-card-cta{display:block}
.vpb-guide-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.vpb-guide-archive-grid .vpb-guide-card{height:100%}

/* Full-photo guide option: the image fills the card and the copy sits safely on top. */
.vpb-guide-card-inline.is-photo-full,
.vpb-guides-view-photo_card .vpb-guide-card{position:relative;display:flex;min-height:560px;isolation:isolate;overflow:hidden;background:#111!important;color:#fff!important}
.vpb-guide-card-inline.is-photo-full::after,
.vpb-guides-view-photo_card .vpb-guide-card::after{content:"";display:block!important;position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.08) 22%,rgba(0,0,0,.22) 48%,rgba(0,0,0,.90) 100%);pointer-events:none}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media,
.vpb-guides-view-photo_card .vpb-guide-media{position:absolute;inset:0;z-index:0;margin:0;aspect-ratio:auto;width:100%;height:100%}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media img,
.vpb-guide-card-inline.is-photo-full .vpb-guide-media .vpb-placeholder,
.vpb-guides-view-photo_card .vpb-guide-media img,
.vpb-guides-view-photo_card .vpb-guide-media .vpb-placeholder{width:100%;height:100%;object-fit:cover}
.vpb-guide-card-inline.is-photo-full .vpb-guide-topline,
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-topline,
.vpb-guides-view-photo_card .vpb-guide-copy{position:relative!important;z-index:2;color:#fff}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-copy{margin-top:auto;background:transparent!important}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy p,
.vpb-guides-view-photo_card .vpb-guide-copy p{opacity:.88}

@media(max-width:1180px){
  .vpb-guide-cards-inline,.vpb-guide-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .vpb-guide-cards-inline,.vpb-guide-archive-grid{grid-template-columns:1fr}
  .vpb-guide-card-inline.is-photo-full,.vpb-guides-view-photo_card .vpb-guide-card{min-height:500px}
}


/* =========================================================
   VPB 3.4.2 — restore intentional guide/event separators
   ========================================================= */
/* Guide cards keep their subtle gray outline. This intentionally overrides
   the global decorative-line cleanup introduced in 3.4. */
.vpb-guide-cards-inline .vpb-guide-card-inline,
.vpb-guide-archive-grid .vpb-guide-card,
.vpb-guides-showcase .vpb-guide-card{
  border:1px solid var(--vpb-line)!important;
}

/* Event lists keep only the horizontal separators between entries. */
.vpb-flex-events .vpb-flex-event{
  border-bottom:1px solid var(--vpb-line)!important;
}
.vpb-flex-events .vpb-flex-event:last-child{
  border-bottom:0!important;
}
.vpb-event-archive .vpb-event-row{
  border-bottom:1px solid var(--vpb-line)!important;
  margin-top:0!important;
}
.vpb-event-archive .vpb-event-row:last-child{
  border-bottom:0!important;
}


/* =========================================================
   VPB 3.5.0 — editorial pages + 3×4 Header
   ========================================================= */
/* Header de post maior: proporção retrato 3×4. */
.vpb-content-view-header .vpb-view-item:first-child{
  aspect-ratio:3/4;
  min-height:0;
  max-height:none;
}
.vpb-content-view-header .vpb-view-media{
  aspect-ratio:3/4!important;
}
@media(max-width:900px){
  .vpb-content-view-header .vpb-view-item:first-child{aspect-ratio:4/5;min-height:620px}
}
@media(max-width:620px){
  .vpb-content-view-header .vpb-view-item:first-child{aspect-ratio:3/4;min-height:560px}
}

/* Experiências: linguagem visual próxima dos Guias, mas usando posts comuns. */
.vpb-experiences-intro h1{margin:0;font-family:var(--vpb-serif);font-size:clamp(3.8rem,8vw,8rem);font-weight:500;line-height:.88;letter-spacing:-.055em}
.vpb-experiences-intro p{max-width:760px;margin:20px 0 0;color:var(--vpb-muted);font:1.15rem/1.45 var(--vpb-serif)}
.vpb-experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.vpb-experience-card{display:flex;min-width:0;height:100%;flex-direction:column;color:inherit;text-decoration:none;border:1px solid var(--vpb-line);background:var(--vpb-surface);overflow:hidden;transition:transform .18s ease,background .18s ease}
.vpb-experience-card:hover{transform:translateY(-3px);background:var(--vpb-surface-2)}
.vpb-experience-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--vpb-surface-2)}
.vpb-experience-media img,.vpb-experience-media .vpb-placeholder{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.vpb-experience-copy{display:flex;flex:1;flex-direction:column;padding:22px}
.vpb-experience-copy>strong{display:block;margin:8px 0 14px;font-family:var(--vpb-serif);font-size:clamp(1.65rem,2.2vw,2.45rem);font-weight:500;line-height:.98;letter-spacing:-.04em}
.vpb-experience-excerpt{color:var(--vpb-muted);font-size:.9rem;line-height:1.5}
.vpb-experience-copy .vpb-meta{margin-top:auto;padding-top:22px}
@media(max-width:1180px){.vpb-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vpb-experience-grid{grid-template-columns:1fr}}

/* Sobre: página editorial sem sidebar. */
.vpb-about-page{padding:clamp(52px,8vw,120px) 0}
.vpb-about-shell{max-width:980px;margin:0 auto}
.vpb-about-shell h1{margin:18px 0 38px;font-family:var(--vpb-serif);font-size:clamp(4rem,9vw,9rem);font-weight:500;line-height:.84;letter-spacing:-.065em}
.vpb-about-content{max-width:780px;font-size:clamp(1.08rem,1.7vw,1.35rem)}

/* VPB 3.5.0 final polish: intentional separators only where requested. */
.vpb-events-showcase .vpb-event-row{border-bottom:1px solid var(--vpb-line)!important;margin-top:0!important}
.vpb-events-showcase .vpb-event-row:last-child{border-bottom:0!important}
.vpb-content-view-header .vpb-view-copy h3{max-width:760px;font-size:clamp(2rem,3.7vw,4.15rem);line-height:.91}
.vpb-experience-card{border:0!important}
@media(max-width:620px){.vpb-content-view-header .vpb-view-copy h3{font-size:clamp(1.8rem,9vw,3rem)}}

/* =========================================================
   VPB 3.5.0 — final builder controls requested Sep 11
   Header ratios, title scaling and compact 2×2 separators.
   ========================================================= */
/* Header/Destaque: the editor can choose landscape, panoramic or vertical proportions. */
.vpb-flex-item.vpb-view-header .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-view-header .vpb-content-view-header .vpb-view-media{min-height:0!important;height:auto;}
.vpb-flex-item.vpb-header-ratio-4x3 .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-header-ratio-4x3 .vpb-content-view-header .vpb-view-media{aspect-ratio:4/3!important}
.vpb-flex-item.vpb-header-ratio-5x4 .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-header-ratio-5x4 .vpb-content-view-header .vpb-view-media{aspect-ratio:5/4!important}
.vpb-flex-item.vpb-header-ratio-7x2 .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-header-ratio-7x2 .vpb-content-view-header .vpb-view-media{aspect-ratio:7/2!important}
.vpb-flex-item.vpb-header-ratio-3x4 .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-header-ratio-3x4 .vpb-content-view-header .vpb-view-media{aspect-ratio:3/4!important}
/* “Vertical 5×4” and “Vertical 9×6” use the inverse ratio so the card is actually vertical. */
.vpb-flex-item.vpb-header-ratio-5x4v .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-header-ratio-5x4v .vpb-content-view-header .vpb-view-media{aspect-ratio:4/5!important}
.vpb-flex-item.vpb-header-ratio-9x6v .vpb-content-view-header .vpb-view-item:first-child,
.vpb-flex-item.vpb-header-ratio-9x6v .vpb-content-view-header .vpb-view-media{aspect-ratio:2/3!important}

/* Per-element title boost. The default remains unchanged. */
.vpb-title-scale-10 .vpb-view-copy h3{font-size:1.375rem}
.vpb-title-scale-25 .vpb-view-copy h3{font-size:1.5625rem}
.vpb-title-scale-40 .vpb-view-copy h3{font-size:1.75rem}
.vpb-title-scale-10 .vpb-content-view-header .vpb-view-copy h3{font-size:clamp(2.2rem,4.07vw,4.565rem)!important}
.vpb-title-scale-25 .vpb-content-view-header .vpb-view-copy h3{font-size:clamp(2.5rem,4.625vw,5.19rem)!important}
.vpb-title-scale-40 .vpb-content-view-header .vpb-view-copy h3{font-size:clamp(2.8rem,5.18vw,5.81rem)!important}
.vpb-title-scale-10 .vpb-content-view-big .vpb-view-copy h3{font-size:clamp(2.2rem,4.4vw,4.84rem)!important}
.vpb-title-scale-25 .vpb-content-view-big .vpb-view-copy h3{font-size:clamp(2.5rem,5vw,5.5rem)!important}
.vpb-title-scale-40 .vpb-content-view-big .vpb-view-copy h3{font-size:clamp(2.8rem,5.6vw,6.16rem)!important}
.vpb-title-scale-10 .vpb-guide-card-inline .vpb-guide-copy h3{font-size:clamp(2.2rem,3.3vw,3.8rem)!important}
.vpb-title-scale-25 .vpb-guide-card-inline .vpb-guide-copy h3{font-size:clamp(2.5rem,3.75vw,4.31rem)!important}
.vpb-title-scale-40 .vpb-guide-card-inline .vpb-guide-copy h3{font-size:clamp(2.8rem,4.2vw,4.83rem)!important}
.vpb-title-scale-10 .vpb-flex-event-main strong{font-size:clamp(1.82rem,2.97vw,2.92rem)!important}
.vpb-title-scale-25 .vpb-flex-event-main strong{font-size:clamp(2.06rem,3.38vw,3.31rem)!important}
.vpb-title-scale-40 .vpb-flex-event-main strong{font-size:clamp(2.31rem,3.78vw,3.71rem)!important}

/* Compacto 2×2: restore only the separators that belong to this post layout. */
.vpb-content-view-compact .vpb-view-item{border-bottom:1px solid var(--vpb-line)!important}
.vpb-content-view-compact .vpb-view-item:nth-child(odd){border-right:1px solid var(--vpb-line)!important;padding-right:16px}
.vpb-content-view-compact .vpb-view-item:nth-last-child(-n+2){border-bottom:0!important}
@media(max-width:620px){
  .vpb-content-view-compact .vpb-view-item{border-right:0!important;border-bottom:1px solid var(--vpb-line)!important;padding-right:0}
  .vpb-content-view-compact .vpb-view-item:last-child{border-bottom:0!important}
}

/* =========================================================
   VPB 3.5.1 — single article hero, guide proportions and page controls
   ========================================================= */
/* Guias: quatro por linha, proporção 3:4 e títulos 15% menores/mais contidos. */
.vpb-guide-cards-inline,
.vpb-guide-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch}
.vpb-guide-card-inline,
.vpb-guide-archive-grid .vpb-guide-card,
.vpb-guides-showcase .vpb-guide-card{aspect-ratio:3/4;min-height:0!important;height:auto;}
.vpb-guide-card-inline .vpb-guide-copy h3,
.vpb-guide-archive-grid .vpb-guide-copy h3,
.vpb-guides-showcase .vpb-guide-copy h3{font-size:clamp(1.7rem,2.35vw,2.78rem)!important;line-height:.95!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vpb-guide-card-inline .vpb-guide-copy p,
.vpb-guide-archive-grid .vpb-guide-copy p,
.vpb-guides-showcase .vpb-guide-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vpb-guide-card-inline.is-photo-full,
.vpb-guides-view-photo_card .vpb-guide-card{aspect-ratio:3/4;min-height:0!important}
/* Mantém apenas o contorno intencional dos cards de Guias. */
.vpb-guide-cards-inline .vpb-guide-card-inline,
.vpb-guide-archive-grid .vpb-guide-card,
.vpb-guides-showcase .vpb-guide-card{border:1px solid var(--vpb-line)!important}

/* Artigo/Guia individual: capa única, grande e rasa (aprox. 1/3 da tela), com texto por cima. */
.vpb-single-page{padding:clamp(22px,3vw,42px) 0 clamp(72px,8vw,120px)}
.vpb-single-article{min-width:0}
.vpb-article-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;width:100%;height:clamp(340px,38vh,520px);overflow:hidden;border-radius:var(--vpb-radius);background:var(--vpb-surface-2);color:#fff}
.vpb-article-hero-media{position:absolute;inset:0;z-index:0}.vpb-article-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.vpb-article-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,5,6,.08) 8%,rgba(5,5,6,.28) 42%,rgba(5,5,6,.92) 100%);pointer-events:none}
.vpb-article-hero-copy{position:relative;z-index:2;width:min(1120px,calc(100% - clamp(36px,7vw,110px)));padding:0 0 clamp(26px,4vw,52px);margin-inline:auto}
.vpb-article-hero .vpb-kicker{color:var(--vpb-accent)}
.vpb-article-hero h1{max-width:1050px;margin:10px 0 12px;font-family:var(--vpb-serif);font-size:clamp(2.7rem,6.5vw,var(--vpb-single-title-size,88px));font-weight:500;line-height:.89;letter-spacing:-.055em;text-wrap:balance}
.vpb-article-hero .vpb-article-dek{max-width:820px;margin:0;color:rgba(255,255,255,.88);font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.35}
.vpb-article-hero .vpb-meta{margin-top:16px;color:rgba(255,255,255,.72)}
.vpb-article-hero-tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 2px}.vpb-article-hero-tags a{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font:700 .68rem/1 var(--vpb-sans);letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px)}.vpb-article-hero-tags a:hover{background:var(--vpb-accent);color:#07120f}
.vpb-article-hero.no-image{height:auto;min-height:360px;padding-top:46px}.vpb-article-hero.no-image .vpb-article-hero-shade{background:linear-gradient(135deg,var(--vpb-surface-2),#09090a)}
.vpb-single-reading-shell{position:relative;max-width:980px;margin:0 auto;padding-inline:clamp(18px,3vw,44px)}
.vpb-single-reading-shell .vpb-article-body{margin-top:clamp(38px,5vw,64px)}
.vpb-single-comments{max-width:820px;margin:0 auto;padding-inline:clamp(18px,3vw,44px)}
/* The share rail now anchors to the reading area rather than the hero. */
.vpb-single-reading-shell .vpb-share-rail{top:54px}

/* Reações respeitam os tamanhos configurados no Core. */
.vpb-reactions h2{font-size:clamp(1.7rem,4vw,var(--vpb-reaction-title-size,46px))!important}.vpb-reaction-emoji{font-size:var(--vpb-reaction-emoji-size,44px)!important}

/* Títulos das páginas gerenciados pelo painel do construtor. */
.vpb-blog-head h1{font-size:clamp(3rem,7vw,var(--vpb-blog-title-size,92px))!important}
.vpb-experiences-intro h1{font-size:clamp(3.2rem,8vw,var(--vpb-experiences-title-size,92px))!important}
.vpb-about-shell h1{font-size:clamp(3.4rem,9vw,var(--vpb-about-title-size,108px))!important}
.vpb-event-archive-title{font-size:clamp(3.2rem,8vw,var(--vpb-events-page-title-size,92px))!important}

/* Compacto 2×2: divisores intencionais continuam ativos. */
.vpb-content-view-compact .vpb-view-item{border-bottom:1px solid var(--vpb-line)!important}
.vpb-content-view-compact .vpb-view-item:nth-child(odd){border-right:1px solid var(--vpb-line)!important;padding-right:16px}
.vpb-content-view-compact .vpb-view-item:nth-last-child(-n+2){border-bottom:0!important}

@media(max-width:1180px){
  .vpb-guide-cards-inline,.vpb-guide-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vpb-guide-card-inline,.vpb-guide-archive-grid .vpb-guide-card,.vpb-guides-showcase .vpb-guide-card{aspect-ratio:auto;min-height:520px!important}
}
@media(max-width:900px){
  .vpb-article-hero{height:clamp(340px,46vh,520px)}
  .vpb-single-reading-shell .vpb-share-rail{position:static;width:auto;flex-direction:row;justify-content:flex-start;margin:28px 0 0}.vpb-single-reading-shell .vpb-share-rail strong{margin-right:8px}
}
@media(max-width:620px){
  .vpb-guide-cards-inline,.vpb-guide-archive-grid{grid-template-columns:1fr!important}
  .vpb-guide-card-inline,.vpb-guide-archive-grid .vpb-guide-card,.vpb-guides-showcase .vpb-guide-card{aspect-ratio:auto;min-height:500px!important}
  .vpb-article-hero{height:clamp(390px,62vh,560px);border-radius:0;margin-inline:calc(var(--vpb-gutter-mobile,18px) * -1);width:calc(100% + (var(--vpb-gutter-mobile,18px) * 2))}
  .vpb-article-hero-copy{width:calc(100% - 36px);padding-bottom:28px}.vpb-article-hero h1{font-size:clamp(2.35rem,12vw,4.4rem)}
  .vpb-content-view-compact .vpb-view-item{border-right:0!important;border-bottom:1px solid var(--vpb-line)!important;padding-right:0}.vpb-content-view-compact .vpb-view-item:last-child{border-bottom:0!important}
}

/* VPB 3.5.1 guide card density + archive title */
.vpb-guide-card-inline .vpb-guide-topline,
.vpb-guide-archive-grid .vpb-guide-topline,
.vpb-guides-showcase .vpb-guide-topline{padding:22px 24px 14px!important}
.vpb-guide-card-inline .vpb-guide-media,
.vpb-guide-archive-grid .vpb-guide-media,
.vpb-guides-showcase .vpb-guide-media{margin:0 24px!important}
.vpb-guide-card-inline .vpb-guide-copy,
.vpb-guide-archive-grid .vpb-guide-copy,
.vpb-guides-showcase .vpb-guide-copy{padding:22px 24px 24px!important;min-height:0}
.vpb-guide-card-inline .vpb-guide-copy h3,
.vpb-guide-archive-grid .vpb-guide-copy h3,
.vpb-guides-showcase .vpb-guide-copy h3{-webkit-line-clamp:3}
.vpb-guide-card-inline .vpb-guide-copy p,
.vpb-guide-archive-grid .vpb-guide-copy p,
.vpb-guides-showcase .vpb-guide-copy p{margin:18px 0!important;-webkit-line-clamp:3}
.vpb-guide-archive-title{margin:0;font-family:var(--vpb-serif);font-size:clamp(2.4rem,8vw,var(--vpb-guides-page-title-size,92px));font-weight:500;line-height:.88;letter-spacing:-.055em}

/* =========================================================
   VPB 3.6.0 — builder refinements, post slider and home lines
   ========================================================= */
/* Guias: um pouco mais de texto nos cards; foto cheia com véu de 20%. */
.vpb-guide-card-inline .vpb-guide-copy p,
.vpb-guide-archive-grid .vpb-guide-copy p,
.vpb-guides-showcase .vpb-guide-copy p{
  -webkit-line-clamp:4!important;
}
.vpb-guide-card-inline.is-photo-full::before,
.vpb-guides-view-photo_card .vpb-guide-card::before{
  content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.20);pointer-events:none;
}
.vpb-guide-card-inline.is-photo-full::after,
.vpb-guides-view-photo_card .vpb-guide-card::after{
  z-index:2!important;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.72) 100%)!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-topline,
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-topline,
.vpb-guides-view-photo_card .vpb-guide-copy{z-index:3!important}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-copy{padding-top:72px!important}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy h3,
.vpb-guides-view-photo_card .vpb-guide-copy h3{-webkit-line-clamp:3!important}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy p,
.vpb-guides-view-photo_card .vpb-guide-copy p{-webkit-line-clamp:3!important}

/* Categoria vertical: sem quantidade e sem seta/botão lateral. */
.vpb-category-shape-vertical a{justify-content:flex-start!important}
.vpb-category-shape-vertical a span small,
.vpb-category-shape-vertical a b{display:none!important}

/* CTA opcional de cada elemento do construtor. */
.vpb-flex-more{display:flex;justify-content:flex-end;margin-top:18px}
.vpb-flex-more a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:999px;background:var(--vpb-surface-2);color:var(--vpb-text);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.vpb-flex-more a:hover{background:var(--vpb-accent);color:#07120f}

/* Slider de posts — três formatos selecionáveis no Core. */
.vpb-post-slider{position:relative;min-width:0}
.vpb-post-slider-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.vpb-post-slider-track::-webkit-scrollbar{display:none}
.vpb-post-slider-card{position:relative;flex:0 0 min(520px,82vw);overflow:hidden;border-radius:var(--vpb-radius);background:var(--vpb-surface-2);color:#fff;scroll-snap-align:start;isolation:isolate}
.vpb-post-slider-slider_h_3x2 .vpb-post-slider-card,.vpb-post-slider-slider_h_3x2 .vpb-post-slider-media{aspect-ratio:3/2}
.vpb-post-slider-slider_v_3x4 .vpb-post-slider-card,.vpb-post-slider-slider_v_3x4 .vpb-post-slider-media{aspect-ratio:3/4}.vpb-post-slider-slider_v_3x4 .vpb-post-slider-card{flex-basis:min(360px,72vw)}
.vpb-post-slider-slider_v_9x6 .vpb-post-slider-card,.vpb-post-slider-slider_v_9x6 .vpb-post-slider-media{aspect-ratio:2/3}.vpb-post-slider-slider_v_9x6 .vpb-post-slider-card{flex-basis:min(330px,68vw)}
.vpb-post-slider-media{position:absolute;inset:0;display:block}.vpb-post-slider-media img,.vpb-post-slider-media .vpb-placeholder{width:100%;height:100%;object-fit:cover}
.vpb-post-slider-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,5,6,.04),rgba(5,5,6,.8) 100%)}
.vpb-post-slider-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;display:grid;gap:8px}.vpb-post-slider-copy small{color:var(--vpb-accent);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.vpb-post-slider-copy strong{font-size:clamp(1.35rem,2.2vw,2.2rem);line-height:1;letter-spacing:-.035em}
.vpb-post-slider-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.vpb-post-slider-controls button{width:38px;height:38px;border:0;border-radius:999px;background:var(--vpb-surface-2);color:var(--vpb-text);font-size:1rem;cursor:pointer}.vpb-post-slider-controls button:hover{background:var(--vpb-accent);color:#07120f}

/* Na Home, voltam apenas as linhas funcionais entre colunas, elementos e posts.
   O Header/Destaque permanece sem linha logo abaixo. */
.home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column,
.vpb-builder-home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column{border-left:1px solid var(--vpb-line)!important}
.home .vpb-flex-column-stacked>.vpb-flex-item+.vpb-flex-item,
.vpb-builder-home .vpb-flex-column-stacked>.vpb-flex-item+.vpb-flex-item{border-top:1px solid var(--vpb-line)!important;padding-top:clamp(30px,4vw,56px)}
.home .vpb-flex-column-stacked>.vpb-flex-item.vpb-view-header+.vpb-flex-item,
.vpb-builder-home .vpb-flex-column-stacked>.vpb-flex-item.vpb-view-header+.vpb-flex-item{border-top:0!important}
.home .vpb-content-view:not(.vpb-content-view-header) .vpb-view-item,
.vpb-builder-home .vpb-content-view:not(.vpb-content-view-header) .vpb-view-item{border-bottom:1px solid var(--vpb-line)!important}
.home .vpb-content-view:not(.vpb-content-view-header) .vpb-view-item:last-child,
.vpb-builder-home .vpb-content-view:not(.vpb-content-view-header) .vpb-view-item:last-child{border-bottom:0!important}
.home .vpb-content-view-header .vpb-view-item,
.vpb-builder-home .vpb-content-view-header .vpb-view-item{border-color:transparent!important}

@media(max-width:900px){
  .home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column,
  .vpb-builder-home .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column{border-left:0!important;border-top:1px solid var(--vpb-line)!important;padding-top:30px}
}

/* VPB 3.6.0: divisores de posts ficam restritos à Home. */
body:not(.home) .vpb-content-view-compact .vpb-view-item{border-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;padding-right:0!important}


/* =========================================================
   VPB 3.7.0 — editorial polish, Notícias and Lateral Cards
   ========================================================= */

/* GUIAS — foto inteira: imagem completa visível, card preenchido e véu escuro de 40%.
   A camada de fundo usa a própria foto desfocada para preencher eventuais sobras
   sem recortar a imagem principal. */
.vpb-guide-card-inline.is-photo-full,
.vpb-guide-card.is-photo-full,
.vpb-guides-view-photo_card .vpb-guide-card{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  background:#09090a!important;
  color:#fff!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media,
.vpb-guide-card.is-photo-full .vpb-guide-media,
.vpb-guides-view-photo_card .vpb-guide-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#09090a!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media::before,
.vpb-guide-card.is-photo-full .vpb-guide-media::before,
.vpb-guides-view-photo_card .vpb-guide-media::before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:0;
  background-image:var(--vpb-guide-bg);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  filter:blur(18px);
  opacity:.72;
  transform:scale(1.08);
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media img,
.vpb-guide-card.is-photo-full .vpb-guide-media img,
.vpb-guides-view-photo_card .vpb-guide-media img{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.vpb-guide-card-inline.is-photo-full::before,
.vpb-guide-card.is-photo-full::before,
.vpb-guides-view-photo_card .vpb-guide-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:block!important;
  background:rgba(0,0,0,.40)!important;
  pointer-events:none!important;
}
.vpb-guide-card-inline.is-photo-full::after,
.vpb-guide-card.is-photo-full::after,
.vpb-guides-view-photo_card .vpb-guide-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:block!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 22%,rgba(0,0,0,.18) 54%,rgba(0,0,0,.78) 100%)!important;
  pointer-events:none!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-topline,
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guide-card.is-photo-full .vpb-guide-topline,
.vpb-guide-card.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-topline,
.vpb-guides-view-photo_card .vpb-guide-copy{
  position:relative!important;
  z-index:4!important;
  color:#fff!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guide-card.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-copy{
  margin-top:auto!important;
  padding-top:clamp(110px,18vh,210px)!important;
  background:transparent!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy h3,
.vpb-guide-card.is-photo-full .vpb-guide-copy h3,
.vpb-guides-view-photo_card .vpb-guide-copy h3{
  -webkit-line-clamp:3!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy p,
.vpb-guide-card.is-photo-full .vpb-guide-copy p,
.vpb-guides-view-photo_card .vpb-guide-copy p{
  -webkit-line-clamp:4!important;
  color:rgba(255,255,255,.86)!important;
}

/* A página de Guias usa o modo foto inteira por padrão. */
.vpb-guide-archive-grid .vpb-guide-card.is-photo-full{aspect-ratio:3/4!important;min-height:0!important}

/* POSTS, GUIAS E EXPERIÊNCIAS — hero editorial mais próximo da referência,
   usando a tipografia bold/sans dos títulos da Home. */
.vpb-article-hero{
  min-height:500px;
  height:clamp(500px,58vh,720px);
  border-radius:0;
}
.vpb-article-hero h1{
  max-width:1120px;
  font-family:var(--vpb-sans)!important;
  font-weight:900!important;
  line-height:.88!important;
  letter-spacing:-.06em!important;
}
.vpb-article-hero .vpb-article-dek{
  max-width:900px;
  font-family:var(--vpb-sans);
  font-weight:600;
}
.vpb-article-hero-shade{
  background:linear-gradient(180deg,rgba(4,4,5,.12) 3%,rgba(4,4,5,.28) 38%,rgba(4,4,5,.94) 100%)!important;
}
.vpb-article-body h1,
.vpb-article-body h2,
.vpb-article-body h3,
.vpb-article-body h4{
  font-family:var(--vpb-sans)!important;
  font-weight:850!important;
}

/* Títulos de páginas editoriais passam a usar a mesma família bold da Home. */
.vpb-blog-head h1,
.vpb-guide-archive-title,
.vpb-experiences-intro h1,
.vpb-about-shell h1,
.vpb-event-archive-title,
.vpb-managed-archive .vpb-showcase-intro h1,
.vpb-page-head h1,
.vpb-article-header h1{
  font-family:var(--vpb-sans)!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
.vpb-experience-copy>strong{
  font-family:var(--vpb-sans)!important;
  font-weight:850!important;
}

/* Compacto 2×2 — separadores internos com respiro, iguais em desktop/tablet;
   no celular, mantém separação horizontal consistente. */
.home .vpb-content-view-compact,
.vpb-builder-home .vpb-content-view-compact{
  gap:0 36px!important;
}
.home .vpb-content-view-compact .vpb-view-item,
.vpb-builder-home .vpb-content-view-compact .vpb-view-item{
  position:relative;
  border:0!important;
  padding:26px 0!important;
  margin:0!important;
}
@media(min-width:621px){
  .home .vpb-content-view-compact .vpb-view-item:nth-child(-n+2),
  .vpb-builder-home .vpb-content-view-compact .vpb-view-item:nth-child(-n+2){
    border-bottom:1px solid var(--vpb-line)!important;
  }
  .home .vpb-content-view-compact .vpb-view-item:nth-child(odd)::after,
  .vpb-builder-home .vpb-content-view-compact .vpb-view-item:nth-child(odd)::after{
    content:"";
    position:absolute;
    top:22px;
    bottom:22px;
    right:-18px;
    width:1px;
    background:var(--vpb-line);
  }
}
@media(max-width:620px){
  .home .vpb-content-view-compact,
  .vpb-builder-home .vpb-content-view-compact{gap:0!important}
  .home .vpb-content-view-compact .vpb-view-item,
  .vpb-builder-home .vpb-content-view-compact .vpb-view-item{
    border-bottom:1px solid var(--vpb-line)!important;
    padding:24px 0!important;
  }
  .home .vpb-content-view-compact .vpb-view-item:last-child,
  .vpb-builder-home .vpb-content-view-compact .vpb-view-item:last-child{border-bottom:0!important}
}

/* Linhas de layouts em lista ficam afastadas do conteúdo. */
.home .vpb-content-view-lateral_lines .vpb-view-item,
.home .vpb-content-view-lateral70 .vpb-view-item,
.home .vpb-content-view-horizontal_medium .vpb-view-item,
.home .vpb-content-view-lateral_circle .vpb-view-item,
.vpb-builder-home .vpb-content-view-lateral_lines .vpb-view-item,
.vpb-builder-home .vpb-content-view-lateral70 .vpb-view-item,
.vpb-builder-home .vpb-content-view-horizontal_medium .vpb-view-item,
.vpb-builder-home .vpb-content-view-lateral_circle .vpb-view-item{
  border:0!important;
  border-bottom:1px solid var(--vpb-line)!important;
  padding-bottom:22px!important;
  margin-bottom:22px!important;
}
.home .vpb-content-view-lateral_lines .vpb-view-item:last-child,
.home .vpb-content-view-lateral70 .vpb-view-item:last-child,
.home .vpb-content-view-horizontal_medium .vpb-view-item:last-child,
.home .vpb-content-view-lateral_circle .vpb-view-item:last-child,
.vpb-builder-home .vpb-content-view-lateral_lines .vpb-view-item:last-child,
.vpb-builder-home .vpb-content-view-lateral70 .vpb-view-item:last-child,
.vpb-builder-home .vpb-content-view-horizontal_medium .vpb-view-item:last-child,
.vpb-builder-home .vpb-content-view-lateral_circle .vpb-view-item:last-child{
  border-bottom:0!important;
  margin-bottom:0!important;
}

/* Grades não usam linhas divisórias. */
.home .vpb-content-view-grid .vpb-view-item,
.home .vpb-content-view-horizontal4 .vpb-view-item,
.home .vpb-content-view-six .vpb-view-item,
.vpb-builder-home .vpb-content-view-grid .vpb-view-item,
.vpb-builder-home .vpb-content-view-horizontal4 .vpb-view-item,
.vpb-builder-home .vpb-content-view-six .vpb-view-item{
  border:0!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}

/* Nova visualização: Lateral Cards — cards empilhados com foto de fundo e texto sobreposto. */
.vpb-content-view-lateral_cards{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:22px!important;
}
.vpb-content-view-lateral_cards .vpb-view-item{
  position:relative;
  isolation:isolate;
  min-height:260px;
  overflow:hidden;
  border:0!important;
  border-radius:18px;
  background:var(--vpb-surface-2);
  padding:0!important;
  margin:0!important;
}
.vpb-content-view-lateral_cards .vpb-view-media{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  display:block;
  width:100%!important;
  height:100%!important;
  border-radius:0!important;
  overflow:hidden;
}
.vpb-content-view-lateral_cards .vpb-view-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.78) 100%);
}
.vpb-content-view-lateral_cards .vpb-view-media img,
.vpb-content-view-lateral_cards .vpb-view-media .vpb-placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.vpb-content-view-lateral_cards .vpb-view-copy{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:28px;
  color:#fff;
  pointer-events:none;
}
.vpb-content-view-lateral_cards .vpb-view-copy .vpb-kicker{
  color:#fff;
  font-weight:900;
}
.vpb-content-view-lateral_cards .vpb-view-copy h3{
  margin:10px 0 12px;
  font-size:clamp(1.5rem,2.7vw,2.55rem);
  line-height:1;
  font-weight:900;
}
.vpb-content-view-lateral_cards .vpb-view-copy h3 a{
  color:#fff;
  pointer-events:auto;
}
.vpb-content-view-lateral_cards .vpb-view-copy p,
.vpb-content-view-lateral_cards .vpb-meta{display:none!important}
.vpb-lateral-card-byline{
  font-size:.88rem;
  font-weight:750;
  color:rgba(255,255,255,.9);
}

@media(max-width:900px){
  .vpb-article-hero{height:clamp(460px,58vh,650px)}
}
@media(max-width:620px){
  .vpb-article-hero{height:clamp(440px,64vh,620px)}
  .vpb-content-view-lateral_cards .vpb-view-item{min-height:230px}
  .vpb-content-view-lateral_cards .vpb-view-copy{padding:22px}
}


/* =========================================================
   VPB 3.7.2 — Eventos compacto para colunas de 30%
   ========================================================= */
.vpb-flex-events.vpb-events-event_compact{
  display:grid;
  gap:0;
  width:100%;
}
.vpb-events-event_compact .vpb-flex-event{
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:14px!important;
  min-height:0!important;
  padding:16px 0!important;
  align-items:start!important;
  border-bottom:1px solid var(--vpb-line)!important;
}
.vpb-events-event_compact .vpb-flex-event:last-of-type{
  border-bottom:0!important;
}
.vpb-events-event_compact .vpb-flex-event-date{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
  min-width:0;
}
.vpb-events-event_compact .vpb-flex-event-date strong{
  font-size:2rem!important;
  line-height:.84!important;
  letter-spacing:-.06em!important;
}
.vpb-events-event_compact .vpb-flex-event-date small{
  padding:0!important;
  font-size:.56rem!important;
  letter-spacing:.08em;
}
.vpb-events-event_compact .vpb-flex-event-main{
  min-width:0;
  padding-right:2px;
}
.vpb-events-event_compact .vpb-flex-event-main em{
  margin-bottom:4px!important;
  font-size:.56rem!important;
  letter-spacing:.04em;
}
.vpb-events-event_compact .vpb-flex-event-main strong{
  font-family:var(--vpb-sans)!important;
  font-size:1.05rem!important;
  font-weight:850!important;
  line-height:1.03!important;
  letter-spacing:-.025em;
}
.vpb-events-event_compact .vpb-flex-event-main small{
  margin-top:6px!important;
  font-size:.68rem!important;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vpb-events-event_compact .vpb-flex-event>b{
  display:none!important;
}
.vpb-events-event_compact + .vpb-event-modal{
  --vpb-event-compact:1;
}
@media(max-width:900px){
  .vpb-events-event_compact .vpb-flex-event{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px 0!important;
  }
  .vpb-events-event_compact .vpb-flex-event-date strong{font-size:1.8rem!important}
  .vpb-events-event_compact .vpb-flex-event-main strong{font-size:1rem!important}
}


/* =========================================================
   VPB 3.7.2 — Guias alongados + controle de divisores por seção/bloco
   ========================================================= */

/* Guias foto inteira: 25% mais altos que o antigo 3:4 (aprox. 3:5),
   imagem cobrindo todo o card e conteúdo preso à base sem enterrar o título. */
.vpb-guide-card-inline.is-photo-full,
.vpb-guide-card.is-photo-full,
.vpb-guides-view-photo_card .vpb-guide-card,
.vpb-guide-archive-grid .vpb-guide-card.is-photo-full{
  aspect-ratio:3/5!important;
  min-height:0!important;
  height:auto!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media,
.vpb-guide-card.is-photo-full .vpb-guide-media,
.vpb-guides-view-photo_card .vpb-guide-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media::before,
.vpb-guide-card.is-photo-full .vpb-guide-media::before,
.vpb-guides-view-photo_card .vpb-guide-media::before{
  display:none!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-media img,
.vpb-guide-card.is-photo-full .vpb-guide-media img,
.vpb-guides-view-photo_card .vpb-guide-media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-topline,
.vpb-guide-card.is-photo-full .vpb-guide-topline,
.vpb-guides-view-photo_card .vpb-guide-topline{
  position:absolute!important;
  z-index:5!important;
  top:0!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  padding:24px 24px 0!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guide-card.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-copy{
  position:absolute!important;
  z-index:5!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  margin:0!important;
  padding:36px 24px 28px!important;
  background:transparent!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy h3,
.vpb-guide-card.is-photo-full .vpb-guide-copy h3,
.vpb-guides-view-photo_card .vpb-guide-copy h3{
  margin:0 0 14px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy p,
.vpb-guide-card.is-photo-full .vpb-guide-copy p,
.vpb-guides-view-photo_card .vpb-guide-copy p{
  margin:0 0 18px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
}
.vpb-guide-card-inline.is-photo-full .vpb-card-cta,
.vpb-guide-card.is-photo-full .vpb-card-cta,
.vpb-guides-view-photo_card .vpb-card-cta{
  margin-top:0!important;
  padding-top:14px!important;
}

/* Compacto 2×2: se houver apenas uma fileira (1 ou 2 itens), não desenha
   a linha horizontal externa abaixo do conjunto; a divisória vertical permanece. */
@media(min-width:621px){
  .home .vpb-content-view-compact.vpb-content-count-1 .vpb-view-item,
  .home .vpb-content-view-compact.vpb-content-count-2 .vpb-view-item,
  .vpb-builder-home .vpb-content-view-compact.vpb-content-count-1 .vpb-view-item,
  .vpb-builder-home .vpb-content-view-compact.vpb-content-count-2 .vpb-view-item{
    border-bottom:0!important;
  }
}

/* Controle granular das linhas cinzas no Construtor.
   A seção pode desligar as linhas estruturais e cada elemento pode desligar
   apenas as próprias linhas internas / sua fronteira com o elemento vizinho. */
.home .vpb-home-module.vpb-lines-off .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column,
.vpb-builder-home .vpb-home-module.vpb-lines-off .vpb-flex-columns>.vpb-flex-column+.vpb-flex-column{
  border-left:0!important;
  border-top:0!important;
}
.home .vpb-home-module.vpb-lines-off .vpb-flex-column-stacked>.vpb-flex-item+.vpb-flex-item,
.vpb-builder-home .vpb-home-module.vpb-lines-off .vpb-flex-column-stacked>.vpb-flex-item+.vpb-flex-item{
  border-top:0!important;
}
.home .vpb-home-module.vpb-lines-off .vpb-content-view .vpb-view-item,
.vpb-builder-home .vpb-home-module.vpb-lines-off .vpb-content-view .vpb-view-item,
.home .vpb-flex-item.vpb-item-lines-off .vpb-content-view .vpb-view-item,
.vpb-builder-home .vpb-flex-item.vpb-item-lines-off .vpb-content-view .vpb-view-item{
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
}
.home .vpb-home-module.vpb-lines-off .vpb-content-view-compact .vpb-view-item::after,
.vpb-builder-home .vpb-home-module.vpb-lines-off .vpb-content-view-compact .vpb-view-item::after,
.home .vpb-flex-item.vpb-item-lines-off .vpb-content-view-compact .vpb-view-item::after,
.vpb-builder-home .vpb-flex-item.vpb-item-lines-off .vpb-content-view-compact .vpb-view-item::after{
  display:none!important;
}
.home .vpb-home-module.vpb-lines-off .vpb-flex-event,
.vpb-builder-home .vpb-home-module.vpb-lines-off .vpb-flex-event,
.home .vpb-flex-item.vpb-item-lines-off .vpb-flex-event,
.vpb-builder-home .vpb-flex-item.vpb-item-lines-off .vpb-flex-event{
  border-bottom:0!important;
}
.home .vpb-flex-column-stacked>.vpb-flex-item.vpb-item-lines-off,
.home .vpb-flex-column-stacked>.vpb-flex-item.vpb-item-lines-off+.vpb-flex-item,
.vpb-builder-home .vpb-flex-column-stacked>.vpb-flex-item.vpb-item-lines-off,
.vpb-builder-home .vpb-flex-column-stacked>.vpb-flex-item.vpb-item-lines-off+.vpb-flex-item{
  border-top:0!important;
}

@media(max-width:1180px){
  .vpb-guide-card-inline.is-photo-full,
  .vpb-guide-card.is-photo-full,
  .vpb-guides-view-photo_card .vpb-guide-card,
  .vpb-guide-archive-grid .vpb-guide-card.is-photo-full{
    aspect-ratio:3/5!important;
    min-height:0!important;
  }
}
@media(max-width:620px){
  .vpb-guide-card-inline.is-photo-full,
  .vpb-guide-card.is-photo-full,
  .vpb-guides-view-photo_card .vpb-guide-card,
  .vpb-guide-archive-grid .vpb-guide-card.is-photo-full{
    aspect-ratio:3/5!important;
    min-height:0!important;
  }
}


/* Accessibility and interaction hardening. */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--vpb-accent);
  outline-offset: 3px;
}
.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  width: auto;
  height: auto;
  margin: 8px;
  padding: 10px 14px;
  overflow: visible;
  white-space: normal;
  background: var(--vpb-text);
  color: var(--vpb-bg);
  z-index: 100000;
}
.vpb-event-modal-dialog:focus { outline: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* =========================================================
   VPB 4.0.1 — responsive density, mobile menu and guide slider
   ========================================================= */

/* Mobile navigation: visual hamburger while aria-label/expanded stay on the button. */
.vpb-menu-toggle{
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:8px;
}
.vpb-menu-icon{display:grid;gap:5px;width:21px}
.vpb-menu-icon i{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.vpb-menu-toggle[aria-expanded="true"] .vpb-menu-icon i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vpb-menu-toggle[aria-expanded="true"] .vpb-menu-icon i:nth-child(2){opacity:0}
.vpb-menu-toggle[aria-expanded="true"] .vpb-menu-icon i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Header / Destaque: landscape 4:3 on tablet/desktop, portrait 3:4 on phones. */
@media(min-width:701px){
  body .vpb-home-module .vpb-flex-item[class*="vpb-header-ratio-"] .vpb-content-view-header .vpb-view-item:first-child,
  body .vpb-home-module .vpb-flex-item[class*="vpb-header-ratio-"] .vpb-content-view-header .vpb-view-media{
    aspect-ratio:4/3!important;
    min-height:0!important;
  }
}
@media(max-width:700px){
  body .vpb-home-module .vpb-flex-item[class*="vpb-header-ratio-"] .vpb-content-view-header .vpb-view-item:first-child,
  body .vpb-home-module .vpb-flex-item[class*="vpb-header-ratio-"] .vpb-content-view-header .vpb-view-media{
    aspect-ratio:3/4!important;
    min-height:0!important;
  }
  .vpb-content-view-header .vpb-view-item:first-child{min-height:0!important}
}

/* Grade 3×1 e 4×1: menor respiro e tipografia mais contida. */
.vpb-content-view-six,
.vpb-content-view-horizontal4{gap:14px!important}
.vpb-content-view-six .vpb-view-copy,
.vpb-content-view-horizontal4 .vpb-view-copy{padding-top:9px}
.vpb-content-view-six .vpb-view-copy h3,
.vpb-content-view-horizontal4 .vpb-view-copy h3{
  margin:4px 0 6px;
  font-size:1.08rem!important;
  line-height:1.04!important;
}
.vpb-content-view-six .vpb-kicker,
.vpb-content-view-horizontal4 .vpb-kicker{font-size:.62rem!important}
.vpb-content-view-six .vpb-meta,
.vpb-content-view-horizontal4 .vpb-meta{margin-top:6px;font-size:.62rem!important}

/* Laterais — todas as variações ficam mais compactas. */
.vpb-content-view-lateral,
.vpb-content-view-lateral_covers,
.vpb-content-view-lateral70,
.vpb-content-view-lateral_circle,
.vpb-content-view-lateral_lines,
.vpb-content-view-horizontal_medium{gap:14px!important}
.vpb-content-view-lateral .vpb-view-item,
.vpb-content-view-lateral_covers .vpb-view-item,
.vpb-content-view-lateral70 .vpb-view-item{grid-template-columns:minmax(0,1fr) 82px!important;gap:12px!important}
.vpb-content-view-lateral .vpb-view-media,
.vpb-content-view-lateral_covers .vpb-view-media,
.vpb-content-view-lateral70 .vpb-view-media{width:82px!important;height:64px!important}
.vpb-content-view-lateral_circle .vpb-view-item{grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important}
.vpb-content-view-lateral_circle .vpb-view-media{width:64px!important;height:64px!important}
.vpb-content-view-lateral_lines .vpb-view-item{grid-template-columns:40px minmax(0,1fr)!important;gap:10px!important}
.vpb-content-view-lateral_lines .vpb-view-rank{font-size:1.15rem!important}
.vpb-content-view-horizontal_medium .vpb-view-item{gap:18px!important}
.vpb-content-view-lateral .vpb-view-copy h3,
.vpb-content-view-lateral_covers .vpb-view-copy h3,
.vpb-content-view-lateral70 .vpb-view-copy h3,
.vpb-content-view-lateral_circle .vpb-view-copy h3,
.vpb-content-view-lateral_lines .vpb-view-copy h3,
.vpb-content-view-horizontal_medium .vpb-view-copy h3{
  margin:3px 0 5px;
  font-size:1.05rem!important;
  line-height:1.04!important;
}
.vpb-content-view-lateral .vpb-kicker,
.vpb-content-view-lateral_covers .vpb-kicker,
.vpb-content-view-lateral70 .vpb-kicker,
.vpb-content-view-lateral_circle .vpb-kicker,
.vpb-content-view-lateral_lines .vpb-kicker,
.vpb-content-view-horizontal_medium .vpb-kicker{font-size:.6rem!important}
.vpb-content-view-lateral .vpb-meta,
.vpb-content-view-lateral_covers .vpb-meta,
.vpb-content-view-lateral70 .vpb-meta,
.vpb-content-view-lateral_circle .vpb-meta,
.vpb-content-view-lateral_lines .vpb-meta,
.vpb-content-view-horizontal_medium .vpb-meta{margin-top:5px;font-size:.6rem!important}
.vpb-content-view-lateral70 .vpb-view-copy p,
.vpb-content-view-horizontal_medium .vpb-view-copy p{font-size:.82rem;line-height:1.3}

.vpb-content-view-lateral_cards{gap:14px!important}
.vpb-content-view-lateral_cards .vpb-view-item{min-height:220px!important;border-radius:12px}
.vpb-content-view-lateral_cards .vpb-view-copy{padding:20px!important}
.vpb-content-view-lateral_cards .vpb-view-copy h3{margin:7px 0 9px;font-size:clamp(1.25rem,2vw,1.9rem)!important;line-height:1!important}
.vpb-lateral-card-byline{font-size:.76rem!important}

/* Guias da Home e do construtor: slider real, 4 / 2 / 1 cards por viewport. */
.vpb-guides-showcase .vpb-guide-track,
.vpb-guide-cards-inline.is-slider{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 54px)/4)!important;
  grid-template-columns:none!important;
  gap:18px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  padding:0 0 10px!important;
}
.vpb-guide-cards-inline.is-slider::-webkit-scrollbar{display:none}
.vpb-guide-cards-inline.is-slider .vpb-guide-card-inline{
  width:auto!important;
  min-width:0!important;
  flex:none!important;
  scroll-snap-align:start;
}
.vpb-inline-guide-slider-actions{justify-content:flex-end;margin-top:14px}

/* Guias: um pouco menores e menos alongados, preservando a leitura. */
.vpb-guide-card-inline,
.vpb-guide-archive-grid .vpb-guide-card,
.vpb-guides-showcase .vpb-guide-card,
.vpb-guide-card-inline.is-photo-full,
.vpb-guide-card.is-photo-full,
.vpb-guides-view-photo_card .vpb-guide-card,
.vpb-guide-archive-grid .vpb-guide-card.is-photo-full{
  aspect-ratio:3/4!important;
  min-height:0!important;
  height:auto!important;
}
.vpb-guide-card-inline .vpb-guide-topline,
.vpb-guide-archive-grid .vpb-guide-topline,
.vpb-guides-showcase .vpb-guide-topline{padding:18px 20px 11px!important}
.vpb-guide-card-inline .vpb-guide-media,
.vpb-guide-archive-grid .vpb-guide-media,
.vpb-guides-showcase .vpb-guide-media{margin:0 20px!important}
.vpb-guide-card-inline .vpb-guide-copy,
.vpb-guide-archive-grid .vpb-guide-copy,
.vpb-guides-showcase .vpb-guide-copy{padding:18px 20px 20px!important}
.vpb-guide-card-inline .vpb-guide-copy h3,
.vpb-guide-archive-grid .vpb-guide-copy h3,
.vpb-guides-showcase .vpb-guide-copy h3{font-size:clamp(1.4rem,2vw,2.25rem)!important;line-height:.98!important}
.vpb-guide-card-inline .vpb-guide-copy p,
.vpb-guide-archive-grid .vpb-guide-copy p,
.vpb-guides-showcase .vpb-guide-copy p{margin:13px 0!important;font-size:.82rem!important;line-height:1.42!important;-webkit-line-clamp:3!important}
.vpb-guide-card-inline .vpb-card-cta,
.vpb-guide-archive-grid .vpb-card-cta,
.vpb-guides-showcase .vpb-card-cta{padding-top:11px!important;font-size:.62rem!important}

/* Foto cheia precisa manter topline/copy sobre a mídia após a redução. */
.vpb-guide-card-inline.is-photo-full .vpb-guide-topline,
.vpb-guide-card.is-photo-full .vpb-guide-topline,
.vpb-guides-view-photo_card .vpb-guide-topline{padding:19px 20px 0!important}
.vpb-guide-card-inline.is-photo-full .vpb-guide-copy,
.vpb-guide-card.is-photo-full .vpb-guide-copy,
.vpb-guides-view-photo_card .vpb-guide-copy{padding:30px 20px 22px!important}

/* Página Experiências: cards ligeiramente menores/mais densos. */
.vpb-experience-grid{gap:14px!important}
.vpb-experience-copy{padding:17px!important}
.vpb-experience-copy>strong{margin:6px 0 10px;font-size:clamp(1.38rem,1.8vw,2rem)!important;line-height:1!important}
.vpb-experience-excerpt{font-size:.82rem!important;line-height:1.42!important}
.vpb-experience-copy .vpb-meta{padding-top:16px!important}

@media(max-width:1024px) and (min-width:701px){
  .vpb-guides-showcase .vpb-guide-track,
  .vpb-guide-cards-inline.is-slider{grid-auto-columns:calc((100% - 18px)/2)!important}
}

@media(max-width:700px){
  .vpb-menu-toggle{display:inline-flex}
  .vpb-guides-showcase .vpb-guide-track,
  .vpb-guide-cards-inline.is-slider{grid-auto-columns:100%!important;gap:12px!important}
  .vpb-guide-card-inline,
  .vpb-guide-archive-grid .vpb-guide-card,
  .vpb-guides-showcase .vpb-guide-card,
  .vpb-guide-card-inline.is-photo-full,
  .vpb-guide-card.is-photo-full,
  .vpb-guides-view-photo_card .vpb-guide-card,
  .vpb-guide-archive-grid .vpb-guide-card.is-photo-full{aspect-ratio:3/4!important;min-height:0!important}

  .vpb-content-view-six,
  .vpb-content-view-horizontal4{gap:18px!important}
  .vpb-content-view-six .vpb-view-copy h3,
  .vpb-content-view-horizontal4 .vpb-view-copy h3{font-size:1rem!important}

  .vpb-content-view-lateral .vpb-view-item,
  .vpb-content-view-lateral_covers .vpb-view-item,
  .vpb-content-view-lateral70 .vpb-view-item{grid-template-columns:minmax(0,1fr) 72px!important}
  .vpb-content-view-lateral .vpb-view-media,
  .vpb-content-view-lateral_covers .vpb-view-media,
  .vpb-content-view-lateral70 .vpb-view-media{width:72px!important;height:58px!important}
  .vpb-content-view-lateral_circle .vpb-view-item{grid-template-columns:58px minmax(0,1fr)!important}
  .vpb-content-view-lateral_circle .vpb-view-media{width:58px!important;height:58px!important}
  .vpb-content-view-lateral_cards .vpb-view-item{min-height:190px!important}
  .vpb-content-view-lateral_cards .vpb-view-copy{padding:17px!important}
  .vpb-content-view-lateral_cards .vpb-view-copy h3{font-size:1.3rem!important}
}


/* =========================================================
   VPB 4.0.2 — mobile guide visibility + robust 4 / 2 / 1 slider
   ========================================================= */
/*
 * O slider de Guias usa flexbox em vez de colunas automáticas de CSS Grid.
 * Isso evita o colapso de tracks percentuais em navegadores mobile/Safari
 * quando os cards também usam aspect-ratio e filhos posicionados.
 */
.vpb-guides-showcase .vpb-guide-track,
.vpb-guide-cards-inline.is-slider{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  padding:0 0 10px!important;
}
.vpb-guides-showcase .vpb-guide-track::-webkit-scrollbar,
.vpb-guide-cards-inline.is-slider::-webkit-scrollbar{display:none}

.vpb-guides-showcase .vpb-guide-track > .vpb-guide-card,
.vpb-guide-cards-inline.is-slider > .vpb-guide-card-inline{
  flex:0 0 calc((100% - 54px)/4)!important;
  width:calc((100% - 54px)/4)!important;
  max-width:none!important;
  min-width:0!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

/* A grade do arquivo de Guias nunca depende da altura intrínseca dos filhos absolutos. */
.vpb-guide-archive-grid{
  width:100%;
  min-width:0;
}
.vpb-guide-archive-grid > .vpb-guide-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

@media(max-width:1024px) and (min-width:701px){
  .vpb-guides-showcase .vpb-guide-track > .vpb-guide-card,
  .vpb-guide-cards-inline.is-slider > .vpb-guide-card-inline{
    flex-basis:calc((100% - 18px)/2)!important;
    width:calc((100% - 18px)/2)!important;
  }
}

@media(max-width:700px){
  .vpb-guides-showcase .vpb-guide-track,
  .vpb-guide-cards-inline.is-slider{
    gap:12px!important;
    min-height:1px!important;
    contain:layout paint;
  }

  .vpb-guides-showcase .vpb-guide-track > .vpb-guide-card,
  .vpb-guide-cards-inline.is-slider > .vpb-guide-card-inline{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:100%!important;
    /* Altura explícita no mobile evita o ciclo height:100% + aspect-ratio. */
    aspect-ratio:auto!important;
    height:clamp(430px,125vw,540px)!important;
    min-height:430px!important;
  }

  /* Página / arquivo de Guias: 1 card por linha e altura real garantida. */
  .vpb-guide-archive-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    gap:14px!important;
  }
  .vpb-guide-archive-grid > .vpb-guide-card,
  .vpb-guide-archive-grid > .vpb-guide-card.is-photo-full{
    display:block!important;
    aspect-ratio:auto!important;
    height:clamp(430px,125vw,540px)!important;
    min-height:430px!important;
  }

  /* Mantém o card e suas camadas sempre renderizáveis no viewport mobile. */
  .vpb-guides-showcase .vpb-guide-card,
  .vpb-guide-cards-inline .vpb-guide-card-inline,
  .vpb-guide-archive-grid .vpb-guide-card{
    visibility:visible!important;
    opacity:1!important;
  }
}
