/* ── Reset e base ──────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
       color: #222; background: #f5f5f5; line-height: 1.6; overflow-x: clip; }
img  { max-width: 100%; height: auto; display: block; }
a    { color: inherit; text-decoration: none; }
a:hover { opacity: .85; }
ul   { list-style: none; }

/* ── Variáveis (sobrescritas inline pelo tema) ─────────────────────────────── */
:root {
    --swp-primary:        #1a1a2e;
    --swp-accent:         #e94560;
    --swp-bg:             #f5f5f5;
    --swp-card-bg:        #fff;
    --swp-text:           #222;
    --swp-text-muted:     #666;
    --swp-border:         #e0e0e0;
    --swp-radius:         0px;
    --swp-max-width:      1400px;
    --swp-gap:            40px;
    --swp-container-pad:  16px;
}

/* ── Container ─────────────────────────────────────────────────────────────── */
.swp-header-inner,
.swp-footer-inner,
.swp-layout { max-width: var(--swp-max-width); margin: 0 auto; padding: 0 var(--swp-container-pad); }

/* Builder: layout ocupa 100% da largura; swp-row-inner centraliza o conteúdo */
.swp-layout--builder { max-width: none; padding-left: 0; padding-right: 0; }
.swp-row-inner { max-width: var(--swp-max-width); margin: 0 auto;
                 padding-left: var(--swp-container-pad); padding-right: var(--swp-container-pad); }

/* ── Header ────────────────────────────────────────────────────────────────── */
.swp-header { background: var(--swp-primary); color: #fff; position: sticky; top: 0; z-index: 100;
              box-shadow: 0 2px 8px rgba(0,0,0,.25); }
/* Builder: blocos controlam tudo — position fica relativo (sticky é gerenciado pelo bloco header-sticky) */
.swp-header--builder { background: transparent; color: inherit; box-shadow: none; position: relative; top: auto; z-index: auto; }
.swp-header--builder .swp-row-wrap,
.swp-footer--builder .swp-row-wrap { margin-bottom: 0; }
.swp-footer--builder .swp-row { margin-bottom: 0; }
.swp-header--builder .swp-row-cols { align-items: center; }
.swp-header--builder .swp-inner-row { align-items: center; }
.swp-header-inner { display: flex; align-items: center; gap: 20px;
                    height: 64px; justify-content: space-between; }
.swp-header--h2 .swp-header-inner--centered { justify-content: center; height: 80px; }
.swp-header--h2 .swp-header-nav-bar { background: color-mix(in srgb, var(--swp-primary) 85%, #000); }
.swp-header-logo img { max-height: 48px; width: auto; }
.swp-header-sitename { font-size: 1.4rem; font-weight: 700; color: #fff; }

/* Nav */
.swp-menu { display: flex; gap: 4px; flex-wrap: wrap; }
.swp-menu li a { padding: 6px 12px; border-radius: var(--swp-radius); font-size: .9rem;
                 color: rgba(255,255,255,.85); transition: background .15s, color .15s; }
.swp-menu:not(.is-hnav) li a:hover,
.swp-menu:not(.is-hnav) li.current-menu-item > a { background: var(--swp-accent); color: #fff; }

.swp-menu-toggle { display: none; flex-direction: column; gap: 5px; background: none;
                   border: none; cursor: pointer; padding: 6px; }
.swp-menu-toggle span { display: block; width: 22px; height: 2px; background: #fff;
                        transition: transform .2s, opacity .2s; }

/* ── Scroll to top ──────────────────────────────────────────────────────────── */
.swp-stt { position:fixed;bottom:52px;right:20px;z-index:9000;width:42px;height:42px;border-radius:50%;
           background:var(--swp-accent);border:none;cursor:pointer;
           display:none;align-items:center;justify-content:center;
           box-shadow:0 2px 10px rgba(0,0,0,.2);
           transition:opacity .35s ease,box-shadow .2s,transform .2s;
           opacity:0; }
.swp-stt.is-visible { display:flex;opacity:1; }
.swp-stt:hover { transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.25); }

/* ── Layout geral ──────────────────────────────────────────────────────────── */
.swp-layout { padding-top: 0; padding-bottom: 0; }
.swp-layout--has-sidebar { display: grid; grid-template-columns: 1fr 300px; gap: var(--swp-gap);
                           align-items: start; }
.swp-layout--has-double-sidebar { display: grid;
                                  grid-template-columns: 1fr 240px 240px;
                                  gap: var(--swp-gap); align-items: start; }
.swp-content-sidebar { display: contents; }
.swp-content-double-sidebar { display: contents; }

/* Row */
.swp-row { margin-bottom: var(--swp-gap); }

/* Section label */
.swp-section-label { border-left: 4px solid var(--swp-accent); padding: 6px 12px;
                     margin-bottom: 12px; font-weight: 700; font-size: .85rem;
                     text-transform: uppercase; letter-spacing: .05em;
                     color: var(--swp-text-muted); }

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.swp-hero-wrap, .swp-destaque-wrap { grid-column: 1 / -1; margin-bottom: var(--swp-gap); }
.swp-hero { position: relative; border-radius: var(--swp-radius); overflow: hidden; aspect-ratio: 21/9; }
.swp-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center;
               transition: transform .4s; }
.swp-hero:hover .swp-hero-bg { transform: scale(1.03); }
.swp-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 60%); }
.swp-hero-link  { position: absolute; inset: 0; display: flex; align-items: flex-end; }
.swp-hero-content { padding: 24px; color: #fff; }
.swp-hero-cat   { background: var(--swp-accent); font-size: .75rem; font-weight: 700;
                  padding: 3px 8px; border-radius: 3px; text-transform: uppercase; }
.swp-hero-title { font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 800; margin-top: 8px;
                  text-shadow: 0 2px 8px rgba(0,0,0,.5); }

/* ── Sidebar ───────────────────────────────────────────────────────────────── */
.swp-sidebar { display: flex; flex-direction: column; gap: var(--swp-gap); position: sticky; top: 80px; }
.swp-sidebar--a, .swp-sidebar--b { display: flex; flex-direction: column; gap: var(--swp-gap); }

/* ── Single post ───────────────────────────────────────────────────────────── */
.swp-single-wrap  { max-width: var(--swp-max-width); margin: 24px auto; padding: 0 16px;
                    display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: start; }
.swp-single-content { background: var(--swp-card-bg); border-radius: var(--swp-radius);
                      padding: 32px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.swp-article-thumb img { width: 100%; border-radius: var(--swp-radius); margin-bottom: 20px; }
.swp-article-cat    { background: var(--swp-accent); color: #fff; font-size: .75rem; font-weight: 700;
                      padding: 3px 10px; border-radius: 3px; text-transform: uppercase; }
/* Badge de categoria no bloco meta-post (página do artigo) */
.swp-meta-post  { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 0; }
.swp-meta-cat   { display: inline-block; background: var(--swp-cat-bg, var(--swp-accent)); color: #fff;
                  font-size: .72rem; font-weight: 700; padding: 3px 10px; border-radius: 3px;
                  text-transform: uppercase; letter-spacing: .04em; text-decoration: none; }
.swp-meta-items { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; font-size: .78rem; color: var(--swp-text-muted); }
.swp-meta-sep   { color: var(--swp-border); opacity: .6; }
.swp-meta-author { font-weight: 600; color: #64748b; }
.swp-meta-date, .swp-meta-views { color: var(--swp-text-muted); }
.swp-article-title  { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; margin: 12px 0; line-height: 1.3; }
.swp-article-meta   { display: flex; gap: 10px; align-items: center; font-size: .8rem; color: var(--swp-text-muted);
                      padding-bottom: 16px; border-bottom: 1px solid var(--swp-border); margin-bottom: 20px; }
.swp-meta-avatar    { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex-shrink: 0; display: block; }
.swp-article-body   { font-size: 1rem; line-height: 1.8; color: var(--swp-text); overflow-wrap: break-word; word-break: break-word; overflow-x: hidden; }
.swp-article-body p { margin-bottom: 1.2em; }
.swp-article-body h2, .swp-article-body h3 { margin: 1.5em 0 .6em; font-weight: 700; }
.swp-article-tags a { background: #eee; padding: 3px 8px; border-radius: 3px; font-size: .8rem; margin: 4px 2px; display: inline-block; }

/* ── Redes sociais — base ───────────────────────────────────────────────────── */
.swp-redes-sociais { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.swp-rs-item { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; position: relative; transition: background .18s, color .18s, border-color .18s, filter .18s, transform .15s, box-shadow .18s; }
.swp-rs-item svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; display: block; flex-shrink: 0; }
/* Tooltip: nome da rede no hover */
.swp-rs-item::after,.swp-rs-item::before{pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;z-index:9999;}
.swp-rs-item::after{content:attr(data-label);position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-4px);background:rgba(15,23,42,.92);color:#f1f5f9;font-size:.72rem;font-weight:500;letter-spacing:.01em;padding:5px 11px;border-radius:7px;white-space:nowrap;backdrop-filter:blur(4px);box-shadow:0 4px 14px rgba(0,0,0,.3);}
.swp-rs-item::before{content:'';position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(-4px);border:5px solid transparent;border-bottom-color:rgba(15,23,42,.92);}
.swp-rs-item:hover::after,.swp-rs-item:hover::before{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── Estilo 1: Bolhas — Cor Nativa ──────────────────────────────────────────── */
.swp-rs--bolhas-nativas .swp-rs-item { width: 40px; height: 40px; border-radius: 50%; color: #fff; }
.swp-rs--bolhas-nativas .swp-rs-item:hover { filter: brightness(1.12); transform: scale(1.08); }
.swp-rs--bolhas-nativas .swp-rs-item--facebook  { background: #1877f2; }
.swp-rs--bolhas-nativas .swp-rs-item--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.swp-rs--bolhas-nativas .swp-rs-item--twitter   { background: #111; }
.swp-rs--bolhas-nativas .swp-rs-item--youtube   { background: #ff0000; }
.swp-rs--bolhas-nativas .swp-rs-item--whatsapp  { background: #25d366; }
.swp-rs--bolhas-nativas .swp-rs-item--tiktok    { background: #010101; }

/* ── Estilo 2: Ghost / Outline ──────────────────────────────────────────────── */
.swp-rs--ghost .swp-rs-item { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #cbd5e1; color: #64748b; }
.swp-rs--ghost .swp-rs-item:hover { color: #fff; border-color: transparent; }
.swp-rs--ghost .swp-rs-item--facebook:hover  { background: #1877f2; }
.swp-rs--ghost .swp-rs-item--instagram:hover { background: #e1306c; }
.swp-rs--ghost .swp-rs-item--twitter:hover   { background: #111; }
.swp-rs--ghost .swp-rs-item--youtube:hover   { background: #ff0000; }
.swp-rs--ghost .swp-rs-item--whatsapp:hover  { background: #25d366; }
.swp-rs--ghost .swp-rs-item--tiktok:hover    { background: #010101; }

/* ── Estilo 3: Pills com Nome ───────────────────────────────────────────────── */
.swp-rs--pills .swp-rs-item { gap: 7px; padding: 7px 14px 7px 10px; border-radius: 100px; color: #fff; font-size: .8rem; font-weight: 600; }
.swp-rs--pills .swp-rs-item:hover { filter: brightness(1.12); transform: translateY(-1px); }
.swp-rs--pills .swp-rs-item--facebook  { background: #1877f2; }
.swp-rs--pills .swp-rs-item--instagram { background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.swp-rs--pills .swp-rs-item--twitter   { background: #111; }
.swp-rs--pills .swp-rs-item--youtube   { background: #ff0000; }
.swp-rs--pills .swp-rs-item--whatsapp  { background: #25d366; }
.swp-rs--pills .swp-rs-item--tiktok    { background: #010101; }

/* ── Estilo 4: Barra "Siga-nos" ─────────────────────────────────────────────── */
.swp-rs--barra-siga { background: #0f172a; border-radius: 8px; padding: 10px 16px; gap: 8px; }
.swp-rs--barra-siga .swp-rs-label { font-size: .72rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; margin-right: 4px; }
.swp-rs--barra-siga .swp-rs-item { width: 32px; height: 32px; border-radius: 6px; background: #1e293b; color: #94a3b8; }
.swp-rs--barra-siga .swp-rs-item:hover { color: #fff; }
.swp-rs--barra-siga .swp-rs-item svg { width: 15px; height: 15px; }
.swp-rs--barra-siga .swp-rs-item--facebook:hover  { background: #1877f2; }
.swp-rs--barra-siga .swp-rs-item--instagram:hover { background: #e1306c; }
.swp-rs--barra-siga .swp-rs-item--twitter:hover   { background: #1e293b; color: #e2e8f0; }
.swp-rs--barra-siga .swp-rs-item--youtube:hover   { background: #ff0000; }
.swp-rs--barra-siga .swp-rs-item--whatsapp:hover  { background: #25d366; }
.swp-rs--barra-siga .swp-rs-item--tiktok:hover    { background: #1e293b; color: #e2e8f0; }

/* ── Estilo 5: Cards com Seguidores ─────────────────────────────────────────── */
.swp-rs--cards-seguidores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.swp-rs--cards-seguidores .swp-rs-item { flex-direction: column; gap: 5px; padding: 14px 8px; border-radius: 10px; background: #f8fafc; color: inherit; }
.swp-rs--cards-seguidores .swp-rs-item:hover { filter: brightness(.96); transform: translateY(-2px); }
.swp-rs--cards-seguidores .swp-rs-icon { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.swp-rs--cards-seguidores .swp-rs-icon svg { width: 16px; height: 16px; stroke: currentColor; }
.swp-rs--cards-seguidores .swp-rs-count { font-size: .85rem; font-weight: 800; color: #1e293b; line-height: 1; }
.swp-rs--cards-seguidores .swp-rs-name  { font-size: .62rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: .06em; text-align: center; }

/* ── Estilo 6: Ícones Puros ─────────────────────────────────────────────────── */
.swp-rs--icones-puros { gap: 16px; }
.swp-rs--icones-puros .swp-rs-item { color: #94a3b8; padding: 4px; }
.swp-rs--icones-puros .swp-rs-item svg { width: 20px; height: 20px; }
.swp-rs--icones-puros .swp-rs-item:hover { transform: translateY(-2px); }
.swp-rs--icones-puros .swp-rs-item--facebook:hover  { color: #1877f2; }
.swp-rs--icones-puros .swp-rs-item--instagram:hover { color: #e1306c; }
.swp-rs--icones-puros .swp-rs-item--twitter:hover   { color: #334155; }
.swp-rs--icones-puros .swp-rs-item--youtube:hover   { color: #ff0000; }
.swp-rs--icones-puros .swp-rs-item--whatsapp:hover  { color: #25d366; }
.swp-rs--icones-puros .swp-rs-item--tiktok:hover    { color: #334155; }

/* ── Estilo 7: Glassmorphism ────────────────────────────────────────────────── */
.swp-rs--glass { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); border-radius: 12px; padding: 16px; gap: 8px; }
.swp-rs--glass .swp-rs-item { width: 42px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.45); }
.swp-rs--glass .swp-rs-item:hover { color: #fff; transform: translateY(-2px); }
.swp-rs--glass .swp-rs-item--facebook:hover  { background: rgba(24,119,242,.4);  border-color: #1877f2; }
.swp-rs--glass .swp-rs-item--instagram:hover { background: rgba(225,48,108,.35); border-color: #e1306c; }
.swp-rs--glass .swp-rs-item--twitter:hover   { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); }
.swp-rs--glass .swp-rs-item--youtube:hover   { background: rgba(255,0,0,.35);    border-color: #ff0000; }
.swp-rs--glass .swp-rs-item--whatsapp:hover  { background: rgba(37,211,102,.3);  border-color: #25d366; }
.swp-rs--glass .swp-rs-item--tiktok:hover    { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); }

/* ── Estilo 8: Flat Square ──────────────────────────────────────────────────── */
.swp-rs--flat-square { gap: 2px; }
.swp-rs--flat-square .swp-rs-item { width: 40px; height: 40px; border-radius: 0; color: #fff; opacity: .88; }
.swp-rs--flat-square .swp-rs-item:hover { opacity: 1; transform: scaleY(1.08); }
.swp-rs--flat-square .swp-rs-item--facebook  { background: #1877f2; }
.swp-rs--flat-square .swp-rs-item--instagram { background: #c13584; }
.swp-rs--flat-square .swp-rs-item--twitter   { background: #111; }
.swp-rs--flat-square .swp-rs-item--youtube   { background: #ff0000; }
.swp-rs--flat-square .swp-rs-item--whatsapp  { background: #25d366; }
.swp-rs--flat-square .swp-rs-item--tiktok    { background: #010101; }

/* ── Estilo 9: Lista Vertical + Contador ────────────────────────────────────── */
.swp-rs--lista-vertical { flex-direction: column; gap: 0; }
.swp-rs--lista-vertical .swp-rs-item { justify-content: flex-start; gap: 10px; padding: 9px 0; border-bottom: 1px solid #f1f5f9; color: inherit; width: 100%; }
.swp-rs--lista-vertical .swp-rs-item:last-child { border-bottom: none; }
.swp-rs--lista-vertical .swp-rs-item:hover { padding-left: 4px; }
.swp-rs--lista-vertical .swp-rs-icon { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.swp-rs--lista-vertical .swp-rs-icon svg { width: 14px; height: 14px; }
.swp-rs--lista-vertical .swp-rs-name  { font-size: .82rem; font-weight: 600; color: #374151; flex: 1; }
.swp-rs--lista-vertical .swp-rs-count { font-size: .72rem; font-weight: 700; color: #94a3b8; }

/* ── Estilo 10: Chips / Tags ────────────────────────────────────────────────── */
.swp-rs--chips .swp-rs-item { gap: 6px; padding: 6px 12px; border-radius: 100px; background: #f1f5f9; color: #475569; font-size: .76rem; font-weight: 600; }
.swp-rs--chips .swp-rs-item svg { width: 14px; height: 14px; }
.swp-rs--chips .swp-rs-item:hover { color: #fff; transform: translateY(-1px); }
.swp-rs--chips .swp-rs-item--facebook:hover  { background: #1877f2; }
.swp-rs--chips .swp-rs-item--instagram:hover { background: #e1306c; }
.swp-rs--chips .swp-rs-item--twitter:hover   { background: #111; }
.swp-rs--chips .swp-rs-item--youtube:hover   { background: #ff0000; }
.swp-rs--chips .swp-rs-item--whatsapp:hover  { background: #25d366; }
.swp-rs--chips .swp-rs-item--tiktok:hover    { background: #010101; }

/* ── Estilo 11: Social Proof — Números ──────────────────────────────────────── */
.swp-rs--social-proof { background: #0f172a; border-radius: 8px; gap: 0; overflow: hidden; flex-wrap: nowrap; }
.swp-rs--social-proof .swp-rs-item { flex: 1; flex-direction: column; gap: 4px; padding: 16px 8px; border-right: 1px solid rgba(255,255,255,.06); color: inherit; }
.swp-rs--social-proof .swp-rs-item:last-child { border-right: none; }
.swp-rs--social-proof .swp-rs-item:hover { background: rgba(255,255,255,.04); }
.swp-rs--social-proof .swp-rs-icon svg { width: 14px; height: 14px; stroke: #475569; }
.swp-rs--social-proof .swp-rs-count { font-size: 1.1rem; font-weight: 800; color: #e2e8f0; line-height: 1; }
.swp-rs--social-proof .swp-rs-name  { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #475569; text-align: center; }

/* ── Legado: .swp-rede (retrocompat) ────────────────────────────────────────── */
.swp-rede          { display: flex; align-items: center; justify-content: center;
                     width: 36px; height: 36px; border-radius: 50%; background: var(--swp-primary);
                     color: #fff; transition: background .2s; }
.swp-rede svg      { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.swp-rede--facebook:hover  { background: #1877f2; }
.swp-rede--instagram:hover { background: #e1306c; }
.swp-rede--twitter:hover   { background: #000; }
.swp-rede--youtube:hover   { background: #ff0000; }
.swp-rede--whatsapp:hover  { background: #25d366; }
.swp-rede--tiktok:hover    { background: #010101; }

/* ── Footer ────────────────────────────────────────────────────────────────── */
.swp-footer     { background: var(--swp-primary); color: rgba(255,255,255,.85); margin-top: 0; padding: 0; }
.swp-footer-inner { display: flex; gap: 40px; flex-wrap: wrap; justify-content: space-between; }
.swp-footer-col { flex: 1; min-width: 180px; }
.swp-footer-col-title { font-size: .85rem; font-weight: 700; text-transform: uppercase;
                        letter-spacing: .06em; color: #fff; margin-bottom: 14px; }
.swp-footer-logo img  { max-height: 48px; margin-bottom: 12px; }
.swp-footer-sitename  { font-size: 1.2rem; font-weight: 700; color: #fff; }
.swp-footer-sobre     { font-size: .85rem; opacity: .75; line-height: 1.6; }
.swp-footer-menu      { display: flex; flex-direction: column; gap: 6px; }
.swp-footer-menu li a { font-size: .85rem; opacity: .8; }
.swp-footer-menu li a:hover { opacity: 1; }
.swp-footer-posts     { display: flex; flex-direction: column; gap: 10px; }
.swp-footer-posts li a { font-size: .85rem; opacity: .8; display: block; }
.swp-footer-posts span { font-size: .72rem; opacity: .5; }
.swp-footer-cats      { display: flex; flex-direction: column; gap: 6px; }
.swp-footer-cats li a { font-size: .85rem; opacity: .8; display: flex; justify-content: space-between; }
.swp-footer-copy-bar  { margin-top: 32px; padding: 14px 20px; border-top: 1px solid rgba(255,255,255,.12);
                        display: flex; justify-content: space-between; align-items: center;
                        flex-wrap: wrap; gap: 8px; font-size: .8rem; opacity: .6; }
.swp-devby            { display: inline-flex; align-items: center; gap: 4px; opacity: 1; white-space: nowrap; }
.swp-devby-label      { color: rgba(255,255,255,.6); font-weight: 300; font-size: .75rem; }
.swp-devby a          { text-decoration: none; display: inline-flex; align-items: center; }
.swp-devby-sw         { color: #fff; font-weight: 600; font-size: .75rem; }
.swp-devby-tech       { color: #3b82f6; font-weight: 700; font-size: .75rem; }
.swp-footer--f1 .swp-footer-inner { justify-content: space-between; align-items: center; }
.swp-footer--f1 .swp-footer-copy  { font-size: .8rem; opacity: .6; }

/* Bloco copyright (builder) */
.swp-bloco-copyright {
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap; gap: 8px;
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: .8rem; opacity: .65;
    color: rgba(255,255,255,.85);
}
.swp-bloco-copyright p { margin: 0; }
.swp-cr-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.swp-cr-links a { color: inherit; text-decoration: none; opacity: .85; }
.swp-cr-links a:hover { opacity: 1; text-decoration: underline; }
.swp-cr-sep { opacity: .4; }

/* ── Bloco: Foto + Texto com Link (link-midia) ──────────────────────────── */
.swp-link-midia { display: flex; gap: 14px; }
.swp-link-midia--vertical  { flex-direction: column; }
.swp-link-midia--horizontal { flex-direction: row; align-items: flex-start; }
.swp-lm-img { flex-shrink: 0; }
.swp-lm-img img { display: block; width: 100%; height: auto; border-radius: var(--swp-radius, 4px); }
.swp-lm-img a { display: block; }
.swp-lm-img a:hover img { opacity: .88; transition: opacity .2s; }
.swp-lm-texto { flex: 1; min-width: 0; line-height: 1.55; }
.swp-lm-texto a { color: inherit; text-decoration: none; }
.swp-lm-texto a:hover { text-decoration: underline; }
@media (max-width: 480px) {
    .swp-link-midia--horizontal { flex-direction: column; }
    .swp-link-midia--horizontal .swp-lm-img { max-width: 100% !important; flex: none !important; }
}

/* ── Banner intercalado ────────────────────────────────────────────────────── */
.swp-banner-full { grid-column: 1 / -1; margin: var(--swp-gap) 0; }
.swp-row--banner  { text-align: center; }

/* ── Block unavailable ─────────────────────────────────────────────────────── */
.swp-block-unavailable { background: #fff8e1; border: 1px solid #ffe082; border-radius: var(--swp-radius);
                         padding: 12px 16px; font-size: .85rem; color: #7b5800; }

/* ── Lista Texto ─────────────────────────────────────────────────────────────── */
.swp-lista-texto { list-style: none; background: var(--swp-blk-card-bg, var(--swp-card-bg)); border-radius: var(--swp-radius);
                   box-shadow: 0 1px 4px rgba(0,0,0,.08); overflow: hidden; }
.swp-lt-item { padding: 11px 14px; border-bottom: 1px solid var(--swp-border); }
.swp-lt-item:last-child { border-bottom: none; }
.swp-lt-title a { font-size: .88rem; font-weight: 700; color: var(--swp-text); line-height: 1.4;
                  display: block; transition: color .15s; }
.swp-lt-title a:hover { color: var(--swp-accent); opacity: 1; }
.swp-lt-time { font-size: .71rem; color: var(--swp-text-muted); margin-top: 2px; display: block; }

/* ── Destaque Slider ─────────────────────────────────────────────────────────── */
.swp-slider { position: relative; border-radius: var(--swp-radius); overflow: hidden;
              aspect-ratio: 21/9; background: #111; }
.swp-slider-item { position: absolute; inset: 0; opacity: 0; z-index: 0; }
.swp-slider-item--active { opacity: 1; z-index: 2; transition: opacity .6s ease; }
.swp-slider-item--leaving { opacity: 0; z-index: 1; transition: opacity .6s ease; pointer-events: none; }
.swp-slider-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.swp-slider-overlay { position: absolute; inset: 0;
                      background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 55%); }
.swp-slider-link { position: absolute; inset: 0; display: flex; align-items: flex-end; z-index: 2; }
.swp-slider-content { padding: 24px; color: #fff; }
.swp-slider-cat { background: var(--swp-accent); font-size: .72rem; font-weight: 700;
                  padding: 2px 8px; border-radius: 3px; text-transform: uppercase;
                  display: inline-block; margin-bottom: 6px; }
.swp-slider-title { font-size: clamp(1rem, 2.5vw, 1.8rem); font-weight: 800; line-height: 1.3;
                    text-shadow: 0 2px 8px rgba(0,0,0,.5); margin-bottom: 4px; }
.swp-slider-time { font-size: .78rem; color: rgba(255,255,255,.7); display: block; }
.swp-slider-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
                  background: rgba(0,0,0,.4); border: none; color: #fff; font-size: 2.2rem;
                  width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
                  display: flex; align-items: center; justify-content: center; line-height: 1;
                  transition: background .2s; }
.swp-slider-btn:hover { background: rgba(0,0,0,.75); transform: translateY(-50%); }
.swp-slider-prev { left: 12px; }
.swp-slider-next { right: 12px; }
.swp-slider-dots { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%);
                   display: flex; gap: 6px; z-index: 10; }
.swp-slider-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.35);
                  border: none; cursor: pointer; transition: background .2s, transform .2s; padding: 0; }
.swp-slider-dot--active { background: var(--swp-dot-active, #fff); transform: scale(1.3); }

/* ─ Estilos de setas ─ */
/* barra / minimal */
.swp-slider--arrows-barra .swp-slider-btn,
.swp-slider--arrows-minimal .swp-slider-btn {
    width: 32px; height: 60px; border-radius: 4px;
    background: rgba(0,0,0,.5); font-size: 1.8rem;
}
.swp-slider--arrows-barra .swp-slider-prev,
.swp-slider--arrows-minimal .swp-slider-prev { left: 0; border-radius: 0 4px 4px 0; }
.swp-slider--arrows-barra .swp-slider-next,
.swp-slider--arrows-minimal .swp-slider-next { right: 0; border-radius: 4px 0 0 4px; }
.swp-slider--arrows-barra .swp-slider-btn:hover,
.swp-slider--arrows-minimal .swp-slider-btn:hover { background: rgba(0,0,0,.75); }
/* contorno */
.swp-slider--arrows-contorno .swp-slider-btn {
    width: 36px; height: 36px; border-radius: 50%;
    background: transparent; border: 2px solid rgba(255,255,255,.55); font-size: 1.4rem;
}
.swp-slider--arrows-contorno .swp-slider-prev { left: 12px; }
.swp-slider--arrows-contorno .swp-slider-next { right: 12px; }
.swp-slider--arrows-contorno .swp-slider-btn:hover { background: rgba(255,255,255,.15); border-color: #fff; }
/* quadrado */
.swp-slider--arrows-quadrado .swp-slider-btn {
    width: 34px; height: 34px; border-radius: 5px;
    background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.2); font-size: 1.4rem;
}
.swp-slider--arrows-quadrado .swp-slider-prev { left: 12px; }
.swp-slider--arrows-quadrado .swp-slider-next { right: 12px; }
.swp-slider--arrows-quadrado .swp-slider-btn:hover { background: rgba(255,255,255,.2); }
/* icone — só ícone sem fundo */
.swp-slider--arrows-icone .swp-slider-btn {
    width: 40px; height: 40px; border-radius: 0;
    background: transparent; border: none;
    font-size: 2.8rem; text-shadow: 0 2px 10px rgba(0,0,0,.8);
}
.swp-slider--arrows-icone .swp-slider-prev { left: 4px; }
.swp-slider--arrows-icone .swp-slider-next { right: 4px; }
.swp-slider--arrows-icone .swp-slider-btn:hover { background: transparent; transform: translateY(-50%) scale(1.15); }
/* accent */
.swp-slider--arrows-accent .swp-slider-btn {
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--swp-accent); font-size: 1.4rem;
}
.swp-slider--arrows-accent .swp-slider-prev { left: 12px; }
.swp-slider--arrows-accent .swp-slider-next { right: 12px; }
.swp-slider--arrows-accent .swp-slider-btn:hover { filter: brightness(1.2); }
/* grande */
.swp-slider--arrows-grande .swp-slider-btn {
    width: 46px; height: 46px; border-radius: 50%;
    background: rgba(255,255,255,.18); backdrop-filter: blur(6px); font-size: 1.6rem;
}
.swp-slider--arrows-grande .swp-slider-prev { left: 12px; }
.swp-slider--arrows-grande .swp-slider-next { right: 12px; }
.swp-slider--arrows-grande .swp-slider-btn:hover { background: rgba(255,255,255,.35); }
/* texto */
.swp-slider--arrows-texto .swp-slider-btn {
    width: auto; height: 28px; border-radius: 14px;
    background: rgba(0,0,0,.5); border: none;
    font-size: .65rem; font-weight: 700; padding: 0 10px; letter-spacing: .04em;
}
.swp-slider--arrows-texto .swp-slider-prev { left: 12px; }
.swp-slider--arrows-texto .swp-slider-next { right: 12px; }
.swp-slider--arrows-texto .swp-slider-btn:hover { background: rgba(0,0,0,.8); }
/* chevron */
.swp-slider--arrows-chevron .swp-slider-btn {
    width: 24px; height: 56px;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); font-size: 1rem;
}
.swp-slider--arrows-chevron .swp-slider-prev { left: 0; border-radius: 0 30px 30px 0; border-left: none; }
.swp-slider--arrows-chevron .swp-slider-next { right: 0; border-radius: 30px 0 0 30px; border-right: none; }
.swp-slider--arrows-chevron .swp-slider-btn:hover { background: rgba(255,255,255,.25); }
/* rect */
.swp-slider--arrows-rect .swp-slider-btn {
    width: 24px; height: 70px;
    background: rgba(255,255,255,.1); backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,.15); font-size: 1.1rem;
}
.swp-slider--arrows-rect .swp-slider-prev { left: 0; border-radius: 0 6px 6px 0; border-left: none; }
.swp-slider--arrows-rect .swp-slider-next { right: 0; border-radius: 6px 0 0 6px; border-right: none; }
.swp-slider--arrows-rect .swp-slider-btn:hover { background: rgba(255,255,255,.25); }
/* sem setas */
.swp-slider--arrows-none .swp-slider-btn { display: none; }

/* ─ Hover: setas aparecem só ao passar o mouse ─ */
.swp-slider--arrows-hover .swp-slider-btn {
    opacity: 0; pointer-events: none;
    transition: opacity .25s, background .2s, transform .3s;
}
.swp-slider--arrows-hover .swp-slider-prev { transform: translateY(-50%) translateX(-8px); }
.swp-slider--arrows-hover .swp-slider-next { transform: translateY(-50%) translateX(8px); }
.swp-slider--arrows-hover:hover .swp-slider-btn { opacity: 1; pointer-events: auto; }
.swp-slider--arrows-hover:hover .swp-slider-prev { transform: translateY(-50%) translateX(0); }
.swp-slider--arrows-hover:hover .swp-slider-next { transform: translateY(-50%) translateX(0); }
.swp-slider--arrows-icone.swp-slider--arrows-hover:hover .swp-slider-btn:hover { transform: translateY(-50%) scale(1.15); }

/* ─ Dots styles ─ */
.swp-slider--dots-pill .swp-slider-dot { border-radius: 99px; width: 8px; height: 8px; transition: width .25s, background .2s; }
.swp-slider--dots-pill .swp-slider-dot--active { background: var(--swp-dot-active, #fff); width: 22px; transform: none; }
.swp-slider--dots-dash .swp-slider-dot { width: 16px; height: 3px; border-radius: 2px; transition: width .25s, background .2s; }
.swp-slider--dots-dash .swp-slider-dot--active { background: var(--swp-dot-active, #fff); width: 26px; transform: none; }
.swp-slider--dots-none .swp-slider-dots { display: none; }
/* Traço progresso — preenchimento sincronizado com o timer */
.swp-slider--dots-progress .swp-slider-dot {
    width: 28px; height: 3px; border-radius: 2px;
    background: rgba(255,255,255,.25);
    position: relative; overflow: hidden;
}
.swp-slider--dots-progress .swp-slider-dot--active { transform: none; }
.swp-slider-dot-fill { display: none; }
.swp-slider--dots-progress .swp-slider-dot-fill {
    display: block;
    position: absolute; inset: 0;
    background: var(--swp-dot-active, #fff);
    transform: scaleX(0);
    transform-origin: left;
}

/* ─ Barra de progresso ─ */
.swp-slider-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: rgba(255,255,255,.15); z-index: 10; }
.swp-slider-progress-bar { height: 100%; background: var(--swp-dot-active, var(--swp-accent, #fff)); width: 0%; }

/* ─ Transições ─ */
/* Slide — novo item entra / antigo sai sem flash */
.swp-slider--trans-slide .swp-slider-item         { opacity: 0; transition: none; will-change: transform; }
.swp-slider--trans-slide .swp-slider-item--active  { opacity: 1; z-index: 2; animation: swp-slide-in-r .55s ease forwards; }
.swp-slider--trans-slide .swp-slider-item--leaving { opacity: 1; z-index: 1; animation: swp-slide-out-l .55s ease forwards; transition: none; }
.swp-slider--trans-slide.swp-slider--dir-prev .swp-slider-item--active  { animation: swp-slide-in-l  .55s ease forwards; }
.swp-slider--trans-slide.swp-slider--dir-prev .swp-slider-item--leaving { animation: swp-slide-out-r .55s ease forwards; }
@keyframes swp-slide-in-r  { from { transform: translateX( 100%); } to { transform: translateX(0); } }
@keyframes swp-slide-in-l  { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@keyframes swp-slide-out-l { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes swp-slide-out-r { from { transform: translateX(0); } to { transform: translateX( 100%); } }
/* Zoom — fade com leve zoom */
.swp-slider--trans-zoom .swp-slider-item         { transform: scale(1.06); }
.swp-slider--trans-zoom .swp-slider-item--active  { transform: scale(1);    transition: opacity .7s ease, transform .7s ease; }
.swp-slider--trans-zoom .swp-slider-item--leaving { transform: scale(1.03); transition: opacity .7s ease, transform .7s ease; }

/* ── Compartilhar ───────────────────────────────────────────────────────────── */
.swp-compartilhar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 0; }
.swp-compartilhar-label { font-size: .78rem; font-weight: 600; color: var(--cmp-lc, #64748b); white-space: nowrap; }
.swp-compartilhar-btns { display: flex; gap: 6px; flex-wrap: wrap; }
.swp-share-btn { display: inline-flex; align-items: center; justify-content: center; width: var(--cmp-sz, 34px); height: var(--cmp-sz, 34px); border-radius: 50%; border: none; cursor: pointer; transition: transform .15s, filter .15s, box-shadow .15s; color: #fff; text-decoration: none; flex-shrink: 0; position: relative; }
/* Tooltip */
.swp-share-btn::after,.swp-share-btn::before{pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;z-index:9999;}
.swp-share-btn::after{content:attr(aria-label);position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-4px);background:rgba(15,23,42,.92);color:#f1f5f9;font-size:.72rem;font-weight:500;letter-spacing:.01em;padding:5px 11px;border-radius:7px;white-space:nowrap;backdrop-filter:blur(4px);box-shadow:0 4px 14px rgba(0,0,0,.3);}
.swp-share-btn::before{content:'';position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(-4px);border:5px solid transparent;border-bottom-color:rgba(15,23,42,.92);}
.swp-share-btn:hover::after,.swp-share-btn:hover::before{opacity:1;transform:translateX(-50%) translateY(0);}
.swp-share-btn svg { width: calc(var(--cmp-sz, 34px) * .47); height: calc(var(--cmp-sz, 34px) * .47); flex-shrink: 0; }
.swp-share--whatsapp  { background: #25d366; }
.swp-share--facebook  { background: #1877f2; }
.swp-share--twitter   { background: #000; }
.swp-share--telegram  { background: #229ed9; }
.swp-share--linkedin  { background: #0a66c2; }
.swp-share--pinterest { background: #e60023; }
.swp-share--email     { background: #6b7280; }
.swp-share--copiar    { background: #475569; }
.swp-share--imprimir  { background: #374151; }
.swp-share-btn:hover { filter: brightness(1.15); transform: scale(1.1); }
.swp-share--whatsapp:hover  { box-shadow: 0 4px 14px rgba(37,211,102,.55); }
.swp-share--facebook:hover  { box-shadow: 0 4px 14px rgba(24,119,242,.55); }
.swp-share--twitter:hover   { box-shadow: 0 4px 14px rgba(0,0,0,.45); }
.swp-share--telegram:hover  { box-shadow: 0 4px 14px rgba(34,158,217,.55); }
.swp-share--linkedin:hover  { box-shadow: 0 4px 14px rgba(10,102,194,.55); }
.swp-share--pinterest:hover { box-shadow: 0 4px 14px rgba(230,0,35,.55); }
.swp-share--email:hover     { box-shadow: 0 4px 14px rgba(107,114,128,.45); }
.swp-share--copiar:hover    { box-shadow: 0 4px 14px rgba(71,85,105,.45); }
.swp-share--imprimir:hover  { box-shadow: 0 4px 14px rgba(55,65,81,.45); }
.swp-share--copiado  { background: #22c55e !important; }
.swp-share--copiado::after,.swp-share--copiado::before { opacity:1 !important; transform:translateX(-50%) translateY(0) !important; }

/* ── Archive / Search header ───────────────────────────────────────────────── */
.swp-archive-header {
    border-left: 4px solid var(--swp-accent);
    padding: 8px 16px;
    margin-bottom: 24px;
    background: var(--swp-card-bg);
    border-radius: 0 var(--swp-radius) var(--swp-radius) 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.swp-archive-title { font-size: 1.4rem; font-weight: 800; color: var(--swp-text); }
.swp-archive-desc  { font-size: .9rem; color: var(--swp-text-muted); margin-top: 6px; }
.swp-archive-empty { background: var(--swp-card-bg); border-radius: var(--swp-radius);
                     padding: 32px; text-align: center; color: var(--swp-text-muted); }
.swp-search-query  { color: var(--swp-accent); }
.swp-search-empty  { background: var(--swp-card-bg); border-radius: var(--swp-radius);
                     padding: 32px; text-align: center; color: var(--swp-text-muted); }
.swp-search-empty p { margin-bottom: 12px; }

/* ── Archive grid ───────────────────────────────────────────────────────────── */
.swp-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--swp-gap);
}

/* ── Pagination ─────────────────────────────────────────────────────────────── */
.swp-pagination { margin-top: 32px; }
.swp-pagination .nav-links { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.swp-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 10px;
    border: 1px solid var(--swp-border); border-radius: var(--swp-radius);
    font-size: .85rem; color: var(--swp-text); background: var(--swp-card-bg);
    transition: background .15s, color .15s;
}
.swp-pagination .page-numbers:hover { background: var(--swp-accent); color: #fff; border-color: var(--swp-accent); }
.swp-pagination .page-numbers.current { background: var(--swp-primary); color: #fff; border-color: var(--swp-primary); }
.swp-pagination .page-numbers.dots { background: none; border: none; }

/* ── Page template ──────────────────────────────────────────────────────────── */
.swp-page-wrap {
    max-width: 860px;
    margin: 24px auto;
    padding: 0 16px;
}
.swp-page-content {
    background: var(--swp-card-bg);
    border-radius: var(--swp-radius);
    padding: 40px;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.swp-page-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 800;
    color: var(--swp-text);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--swp-accent);
}

/* ── Multi-column row ───────────────────────────────────────────────────────── */
.swp-row-cols {
    display: flex;
    flex-wrap: wrap;
    gap: var(--swp-gap, 20px);
    align-items: start;
}
.swp-row-col { min-width: 0; box-sizing: border-box; }
[data-inline] > .swp-block-wrap { width: auto !important; container-type: normal; flex: 0 0 auto; }

/* ── Breakpoints de viewport (CSS vars geradas pelo builder) ─────────────── */
/* Laptop ≤1200px */
@media (max-width: 1200px) {
    .swp-row-col.swp-col-has-lp   { flex: 0 0 var(--swp-colw-lp) !important; max-width: var(--swp-colw-lp) !important; }
    .swp-row-cols.swp-has-lp-gap  { gap: var(--swp-gap-lp); }
    .swp-row-wrap.swp-has-lp      { background: var(--swp-bg-lp) !important; }
    .swp-row-wrap.swp-has-lp-pad  { padding: var(--swp-pad-lp) !important; }
    .swp-row-wrap.swp-has-lp-margin { margin: var(--swp-margin-lp) !important; }
    .swp-row-wrap.swp-has-lp-border { border: var(--swp-border-lp) !important; }
    .swp-row-wrap.swp-has-lp-font { font-size: var(--swp-font-lp); }
}
/* Tablet ≤768px */
@media (max-width: 768px) {
    .swp-row-col.swp-col-has-tb    { flex: 0 0 var(--swp-colw-tb) !important; max-width: var(--swp-colw-tb) !important; }
    .swp-row-cols.swp-has-tb-gap   { gap: var(--swp-gap-tb); }
    .swp-row-wrap.swp-has-tb       { background: var(--swp-bg-tb) !important; }
    .swp-row-wrap.swp-has-tb-pad   { padding: var(--swp-pad-tb) !important; }
    .swp-row-wrap.swp-has-tb-margin { margin: var(--swp-margin-tb) !important; }
    .swp-row-wrap.swp-has-tb-border { border: var(--swp-border-tb) !important; }
    .swp-row-wrap.swp-has-tb-font  { font-size: var(--swp-font-tb); }
}
/* Tablet ≤768px: fallback automático para colunas sem config explícita de tablet */
@media (max-width: 768px) {
    .swp-row-col:not(.swp-col-has-tb):not(.swp-col-hidden-tb):not(.swp-col-has-mb) {
        flex: 0 0 100% !important; max-width: 100% !important;
    }
    /* Header mantém comportamento próprio no tablet */
    .swp-header--builder .swp-row-col:not(.swp-col-has-tb):not(.swp-col-hidden-tb) {
        flex: 0 0 auto !important; max-width: 100% !important;
    }
    .swp-header--builder .swp-row-col:has(.swp-hbanner):not(.swp-col-has-tb) { flex: 0 0 100% !important; }
    .swp-inner-col { flex: 0 0 100% !important; max-width: 100% !important; }
    .swp-col-hidden-tb { display: none !important; }
}

/* Mobile ≤480px */
@media (max-width: 480px) {
    /* Colunas configuradas via builder mobile (largura explícita) */
    .swp-row-col.swp-col-has-mb     { flex: 0 0 var(--swp-colw-mb) !important; max-width: var(--swp-colw-mb) !important; }
    .swp-row-cols.swp-has-mb-gap    { gap: var(--swp-gap-mb); }
    .swp-row-wrap.swp-has-mb        { background: var(--swp-bg-mb) !important; }
    .swp-row-wrap.swp-has-mb-pad    { padding: var(--swp-pad-mb) !important; }
    .swp-row-wrap.swp-has-mb-margin { margin: var(--swp-margin-mb) !important; }
    .swp-row-wrap.swp-has-mb-font   { font-size: var(--swp-font-mb); }
    /* Largura 0 no builder = ocultar neste viewport */
    .swp-col-hidden-mb, .swp-col-hidden-lp { display: none !important; }
    /* Fallback: colunas sem config mobile vão 100% */
    .swp-row-col:not(.swp-col-has-mb):not(.swp-col-hidden-mb) { flex: 0 0 100% !important; max-width: 100% !important; }
    /* Header: logo + hamburger ficam na mesma linha (tamanho natural) */
    .swp-header--builder .swp-row-col:not(.swp-col-has-mb):not(.swp-col-hidden-mb) { flex: 0 0 auto !important; max-width: 100% !important; }
    /* Banner no header sem config mobile: vai para linha própria abaixo */
    .swp-header--builder .swp-row-col:has(.swp-hbanner):not(.swp-col-has-mb):not(.swp-col-hidden-mb) { flex: 0 0 100% !important; }
    .swp-inner-col { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* ── Ticker ──────────────────────────────────────────────────────────────── */
.swp-ticker              { display:flex;align-items:stretch;overflow:hidden;background:var(--swp-ticker-bg,#1a1a2e); }
.swp-ticker-label        { position:relative;padding:8px 22px 8px 14px;background:var(--swp-ticker-label-bg,var(--swp-accent,#e94560));color:var(--swp-ticker-label-c,#fff);font-size:.72rem;font-weight:700;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:6px;flex-shrink:0;z-index:1; }
.swp-ticker-label::after { content:'';position:absolute;right:-8px;top:0;bottom:0;width:16px;background:var(--swp-ticker-label-bg,var(--swp-accent,#e94560));clip-path:polygon(0 0,0 100%,100% 50%);z-index:2; }
.swp-ticker-dot          { width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;animation:swp-dot-pulse 1s infinite; }
@keyframes swp-dot-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.65)} }
.swp-ticker-wrap         { flex:1;overflow:hidden;position:relative; }
.swp-ticker-inner        { display:flex;width:max-content;animation:swp-scroll 40s linear infinite; }
.swp-ticker-item         { padding:8px 20px;color:var(--swp-ticker-text,rgba(255,255,255,.85));font-size:.82rem;text-decoration:none;white-space:nowrap;border-right:1px solid rgba(255,255,255,.1); }
.swp-ticker-item:hover   { opacity:.75; }
@keyframes swp-scroll    { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── Barra de Busca (header) ─────────────────────────────────────────────── */
.swp-bloco-busca         { display:flex;align-items:center;width:100%; }
.swp-bloco-busca form    { width:100%; }
.swp-busca-field         { display:flex;align-items:center;padding:7px 12px;gap:8px;transition:border-color .2s,box-shadow .2s; }
.swp-busca-input         { flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:inherit;min-width:0; }
.swp-busca-input::placeholder { opacity:.5; }
.swp-busca-btn           { background:transparent;border:none;cursor:pointer;display:flex;align-items:center;color:inherit;opacity:.5;padding:0;flex-shrink:0; }
.swp-busca-btn:hover     { opacity:1; }

/* ── Ícones Redes Sociais (header/footer) ────────────────────────────────── */
.swp-bloco-redes-icones  { display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:4px 0; }
.swp-bloco-redes-icones .swp-rs-icon { display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(128,128,128,.15);color:inherit;text-decoration:none;transition:background .2s,opacity .2s; }
.swp-bloco-redes-icones .swp-rs-icon:hover { background:rgba(128,128,128,.3); }

/* ── Grade Cards — grid configurável, título sobre a imagem com degradê ───── */
.swp-grade-cards          { display:grid;gap:12px; }
.swp-grade-cards--1col    { grid-template-columns:1fr; }
.swp-grade-cards--2col    { grid-template-columns:repeat(2,1fr); }
.swp-grade-cards--3col    { grid-template-columns:repeat(3,1fr); }
.swp-grade-cards--4col    { grid-template-columns:repeat(4,1fr); }
.swp-grade-cards--5col    { grid-template-columns:repeat(5,1fr); }
.swp-grade-cards--6col    { grid-template-columns:repeat(6,1fr); }

.swp-gc-item    { position:relative;border-radius:var(--swp-img-radius, var(--swp-radius, 4px));overflow:hidden;
                  aspect-ratio:16/9;background:#111; }
.swp-gc-link    { position:absolute;inset:0;display:flex;flex-direction:column;
                  justify-content:flex-end;text-decoration:none;opacity:1; }
.swp-gc-link:hover { opacity:1; }
.swp-gc-thumb   { position:absolute;inset:0;background-size:cover;background-position:center;
                  transition:transform .4s; }
.swp-gc-item:hover .swp-gc-thumb { transform:scale(1.04); }
.swp-gc-overlay { position:absolute;inset:0;
                  background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.2) 45%,transparent 70%); }
/* Variante com vídeo: gradiente mais forte na faixa do título, topo mais limpo para o play */
.swp-gc-item--has-video .swp-gc-overlay {
    background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.7) 35%, rgba(0,0,0,.1) 55%, transparent 75%);
}
.swp-gc-item--has-video .swp-video-play { top: 42%; }
.swp-gc-content { position:relative;z-index:2;padding:var(--swp-gc-content-pad,5px); }
.swp-gc-cat     { background:var(--swp-accent);font-size:.62rem;font-weight:700;
                  padding:1px 4px;border-radius:3px;text-transform:uppercase;
                  color:#fff;display:inline-block;margin-bottom:5px; }
.swp-gc-title   { font-size:.85rem;font-weight:700;line-height:1.35;color:#fff;
                  text-shadow:0 1px 4px rgba(0,0,0,.5);margin:0 0 2px; }
.swp-gc-title a { color:inherit;text-decoration:none; }
.swp-gc-item .swp-gc-link:hover .swp-gc-title { color:var(--swp-cat-bg, var(--swp-accent)); }
.swp-gc-time    { font-size:.68rem;color:rgba(255,255,255,.72);display:block; }

/* ── Mini Cards ──────────────────────────────────────────────────────────── */
.swp-mini-cards          { display:grid;gap:12px; }
.swp-mini-cards--1col    { grid-template-columns:1fr; }
.swp-mini-cards--2col    { grid-template-columns:repeat(2,1fr); }
.swp-mini-cards--3col    { grid-template-columns:repeat(3,1fr); }
.swp-mini-cards--4col    { grid-template-columns:repeat(4,1fr); }
.swp-mini-cards--5col    { grid-template-columns:repeat(5,1fr); }
.swp-mini-cards--6col    { grid-template-columns:repeat(6,1fr); }
.swp-mini-card           { display:flex;flex-direction:column;gap:5px; }
.swp-mini-card-thumb     { display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--swp-img-radius, var(--swp-radius, 4px));position:relative; }
.swp-mini-card-cat       { position:absolute;top:6px;left:6px;background:var(--swp-accent);color:#fff;
                           font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase; }
.swp-mini-card-thumb img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.swp-mini-card:has(.swp-mini-card-thumb:hover) .swp-mini-card-thumb img { transform:scale(1.04); }
.swp-mini-card-title     { font-size:.8rem;line-height:1.4;margin:0; }
.swp-mini-card-title a   { color:var(--swp-blk-title-color,inherit);text-decoration:none;transition:color .15s; }
.swp-mini-card:has(.swp-mini-card-thumb:hover, .swp-mini-card-title:hover) .swp-mini-card-title a { color:var(--swp-cat-bg, var(--swp-blk-hover-color,var(--swp-accent,#e94560))); }

/* ── Lista Popular ───────────────────────────────────────────────────────── */
.swp-lista-popular       { display:flex;flex-direction:column;gap:10px;background:var(--swp-blk-card-bg,transparent);border-radius:var(--swp-radius);overflow:hidden; }
.swp-popular-item        { display:flex;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #f0f0f0; }
.swp-popular-item:last-child { border-bottom:none;padding-bottom:0; }
.swp-popular-num         { font-size:1.3rem;font-weight:800;color:var(--swp-accent,#e94560);line-height:1;min-width:26px;flex-shrink:0; }
.swp-popular-info        { flex:1;min-width:0; }
.swp-popular-title       { font-size:.85rem;font-weight:600;color:#1a1a2e;text-decoration:none;line-height:1.4;display:block; }
.swp-popular-title:hover { color:var(--swp-accent,#e94560); }
.swp-popular-time        { font-size:.72rem;color:#999;margin-top:2px;display:block; }
/* layout grid-num: números grandes como marca d'água, itens em grade horizontal */
.swp-popular--grid-num                    { flex-direction:row;gap:0;overflow:visible; }
.swp-popular--grid-num .swp-popular-item  { flex:1;min-width:0;flex-direction:column;gap:4px;position:relative;padding:12px 12px 20px;border-bottom:none;border-right:1px solid #eee;overflow:hidden;align-items:flex-start; }
.swp-popular--grid-num .swp-popular-item:last-child { border-right:none; }
.swp-popular--grid-num .swp-popular-num   { position:absolute;bottom:-10px;right:6px;font-size:5.5rem;font-weight:900;line-height:1;color:rgba(0,0,0,.07);min-width:auto;flex-shrink:0;z-index:0;pointer-events:none; }
.swp-popular--grid-num .swp-popular-info  { position:relative;z-index:1; }
.swp-popular--grid-num .swp-popular-title { font-size:.8rem; }
.swp-popular--grid-num .swp-popular-time  { font-size:.7rem; }
html[data-theme="dark"] .swp-popular--grid-num .swp-popular-num { color:rgba(255,255,255,.08); }
html[data-theme="dark"] .swp-popular--grid-num .swp-popular-item { border-right-color:var(--swp-border); }
.swp-bloco-titulo        { font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;padding-bottom:8px;border-bottom:2px solid var(--swp-accent,#e94560);margin-bottom:10px; }

/* ── Row Wrap (novo formato) ─────────────────────────────────────────────── */
.swp-row-wrap { margin-bottom: var(--swp-gap, 20px); }
/* Em layouts de skeleton (com padding no .swp-layout), --full usa margem negativa para sangrar */
.swp-layout:not(.swp-layout--builder) .swp-row-wrap--full {
    margin-left:  calc(-1 * var(--swp-container-pad, 16px));
    margin-right: calc(-1 * var(--swp-container-pad, 16px));
    padding-left:  var(--swp-container-pad, 16px);
    padding-right: var(--swp-container-pad, 16px);
}

/* ── Sticky column ───────────────────────────────────────────────────────── */
.swp-row-col--sticky     { position:sticky;top:calc(var(--swp-sticky-h,0px) + 20px);align-self:flex-start; }

/* ── Título de Bloco — 10 estilos ────────────────────────────────────────── */
.swp-block-titulo {
    display: flex; align-items: center; gap: 8px; margin: 0 0 12px;
    --titulo-cor:   #1a1a2e;
    --titulo-fundo: var(--swp-block-accent, var(--swp-accent, #e94560));
    --titulo-font:  inherit;
    font-size: 20px;
}
.swp-titulo-text {
    font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
    color: var(--titulo-cor); font-family: var(--titulo-font);
    text-decoration: none; font-size: inherit;
}
.swp-titulo-link { text-decoration: none; }

/* s1 — Borda esquerda */
.swp-titulo-s1 { border-left: 4px solid var(--titulo-fundo); padding: 4px 10px; display: block; }
.swp-titulo-s1 .swp-titulo-text::after { content: ''; display: block; width: 100%; height: 2px; background: var(--titulo-fundo); margin-top: 3px; border-radius: 1px; }

/* s2 — Faixa com seta */
.swp-titulo-s2 { border-bottom: 2px solid #e2e8f0; padding-bottom: 8px; }
.swp-titulo-s2 .swp-titulo-text { display: inline-block; background: var(--titulo-fundo); color: #fff !important; padding: 5px 20px 5px 12px; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%); border-radius: 3px 0 0 3px; }

/* s3 — Linha superior */
.swp-titulo-s3 { border-top: 3px solid var(--titulo-fundo); padding-top: 8px; display: block; }

/* s4 — Badge / Chip */
.swp-titulo-s4 { display: block; }
.swp-titulo-s4 .swp-titulo-text { display: inline-block; background: var(--titulo-fundo); color: #fff !important; padding: 4px 16px; border-radius: 20px; }

/* s5 — Texto centralizado com linhas */
.swp-titulo-s5 { justify-content: center; }
.swp-titulo-s5::before, .swp-titulo-s5::after { content: ''; flex: 1; height: 2px; background: #e2e8f0; border-radius: 1px; }
.swp-titulo-s5 .swp-titulo-text { color: var(--titulo-fundo) !important; padding: 0 12px; flex-shrink: 0; }

/* s6 — Faixa gradiente */
.swp-titulo-s6 { background: linear-gradient(to right, var(--titulo-fundo), transparent); padding: 7px 16px; border-radius: 4px; }
.swp-titulo-s6 .swp-titulo-text { color: #fff !important; }

/* s7 — Ponto + linha */
.swp-titulo-s7::before { content: ''; width: 10px; height: 10px; background: var(--titulo-fundo); border-radius: 50%; flex-shrink: 0; }
.swp-titulo-s7::after  { content: ''; flex: 1; height: 2px; background: #e2e8f0; border-radius: 1px; }
.swp-titulo-s7 .swp-titulo-text { flex-shrink: 0; }

/* s8 — Underline completo */
.swp-titulo-s8 { border-bottom: 3px solid var(--titulo-fundo); padding-bottom: 8px; display: block; }

/* s9 — Borda esquerda grossa */
.swp-titulo-s9 { border-left: 5px solid var(--titulo-fundo); padding: 4px 12px; display: block; }

/* s10 — Fundo escuro com barra */
.swp-titulo-s10 { background: #1a1a2e; padding: 7px 14px; border-radius: 4px; gap: 10px; }
.swp-titulo-s10::before { content: ''; width: 4px; height: 18px; background: var(--titulo-fundo); border-radius: 2px; flex-shrink: 0; }
.swp-titulo-s10 .swp-titulo-text { color: #fff !important; }
/* Linha de título com CTA à direita */
.swp-titulo-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.swp-titulo-row .swp-block-titulo { margin-bottom:0; flex:1; min-width:0; }
/* Quando título usa imagem: remove fundos, clips e padding de todos os estilos */
.swp-titulo--has-image { background: none !important; padding: 0 !important;
    border-left: none !important; border-top: none !important; border-bottom: none !important; }
.swp-titulo--has-image::before, .swp-titulo--has-image::after { display: none !important; }
.swp-titulo--has-image .swp-titulo-text { background: none !important; clip-path: none !important;
    padding: 0 !important; border-radius: 0 !important; color: inherit !important; }
.swp-block-wrap { width:100%; container-type: inline-size; }

/* ── Seção Interna (inner-row) ───────────────────────────────────────────── */
.swp-inner-row { display: flex; flex-wrap: wrap; gap: var(--swp-gap, 20px); align-items: start; }
.swp-inner-col { min-width: 0; box-sizing: border-box; }

/* ── Categoria badge — cor configurável via builder ──────────────────────── */
/* Sobrescreve todos os background: var(--swp-accent) individuais acima.     */
/* --swp-cat-bg  → cor do fundo/elemento  (set no .swp-block-wrap)           */
/* --swp-cat-text → cor do texto          (set no .swp-block-wrap)           */
:is(.swp-hero-cat, .swp-slider-cat, .swp-gc-cat, .swp-mini-card-cat, .swp-dl-cat) {
    background: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    color: var(--swp-cat-text, #fff);
}

/* ── Variantes de estilo do badge (classe no .swp-block-wrap) ────────────── */
/* Pill */
.swp-cat--pill :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    border-radius: 50px;
}
/* Outline */
.swp-cat--outline :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    background: transparent;
    border: 1.5px solid var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    color: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
}
/* Outline pill */
.swp-cat--outline-pill :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    background: transparent;
    border: 1.5px solid var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    color: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    border-radius: 50px;
}
/* Text, underline, dot, bar — fundo transparente */
.swp-cat--text :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat),
.swp-cat--underline :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat),
.swp-cat--dot :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat),
.swp-cat--bar :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    background: transparent;
    color: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}
/* Underline */
.swp-cat--underline :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    border-bottom: 2px solid var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    padding-bottom: 1px;
}
/* Dot */
.swp-cat--dot :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    display: inline-flex; align-items: center; gap: 5px;
}
.swp-cat--dot :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat)::before {
    content: ''; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
    background: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
}
/* Bar */
.swp-cat--bar :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat) {
    display: inline-flex; align-items: center; gap: 6px;
}
.swp-cat--bar :is(.swp-hero-cat,.swp-slider-cat,.swp-gc-cat,.swp-mini-card-cat,.swp-dl-cat)::before {
    content: ''; width: 3px; height: 12px; border-radius: 2px; flex-shrink: 0;
    background: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
}

/* ── Posição do badge sobre a imagem ─────────────────────────────────────── */
/* Aplica-se apenas a badges com position:absolute (não hero/slider)          */
.swp-cat--pos-tr :is(.swp-gc-cat,.swp-mini-card-cat) { left: auto; right: 8px; }
.swp-cat--pos-bl :is(.swp-gc-cat,.swp-mini-card-cat) { top: auto; bottom: 8px; }
.swp-cat--pos-br :is(.swp-gc-cat,.swp-mini-card-cat) { top: auto; left: auto; bottom: 8px; right: 8px; }

/* ── Ocultar categoria quando show_cat = false ───────────────────────────── */
.swp-block--no-cat .swp-slider-cat, .swp-block--no-cat .swp-gc-cat,
.swp-block--no-cat .swp-mini-card-cat { display: none; }
.swp-block--no-cat .swp-dc-cat        { display: none; }
.swp-block--no-cat .swp-dh-meta-cat   { display: none; }

/* ── Ocultar autor/data quando show_author/show_date = false ─────────────── */
/* swp_post_meta já omite em PHP; estas regras são fallback para templates custom */
.swp-block--no-date   .swp-date   { display: none; }
.swp-block--no-author .swp-author { display: none; }

/* ── Tipografia configurável por bloco ───────────────────────────────────── */
/* --swp-blk-ff, --swp-blk-fs, --swp-blk-lh são emitidos pelo swp_block_wrap_attrs() */
.swp-block-wrap .swp-gc-title,
.swp-block-wrap .swp-mini-card-title a,
.swp-block-wrap .swp-slider-title {
    font-family: var(--swp-blk-ff, inherit);
    font-size: var(--swp-blk-fs, inherit);
    line-height: var(--swp-blk-lh, inherit);
    font-weight: var(--swp-blk-fw, inherit);
}

/* ── Cor do título configurável — blocos em fundo claro (não overlay) ─────── */
.swp-block-wrap .swp-mini-card-title a,
.swp-block-wrap .swp-lt-title a,
.swp-block-wrap .swp-popular-title { color: var(--swp-blk-title-color, inherit); transition: color .15s; }

.swp-block-wrap .swp-lt-title a:hover,
.swp-block-wrap .swp-popular-title:hover { color: var(--swp-blk-hover-color, var(--swp-accent)); }

/* ── Container Queries: blocos adaptam ao container, não ao viewport ─────── */
/* Grade Cards */
@container (max-width: 700px) { .swp-grade-cards--4col,
                                 .swp-grade-cards--5col,
                                 .swp-grade-cards--6col { grid-template-columns: repeat(3, 1fr); } }
@container (max-width: 520px) { .swp-grade-cards--3col,
                                 .swp-grade-cards--4col,
                                 .swp-grade-cards--5col,
                                 .swp-grade-cards--6col { grid-template-columns: repeat(2, 1fr); } }
@container (max-width: 320px) { .swp-grade-cards--2col,
                                 .swp-grade-cards--3col,
                                 .swp-grade-cards--4col,
                                 .swp-grade-cards--5col,
                                 .swp-grade-cards--6col { grid-template-columns: 1fr; } }

/* Mini Cards */
@container (max-width: 380px) { .swp-mini-cards--3col,
                                 .swp-mini-cards--4col,
                                 .swp-mini-cards--5col,
                                 .swp-mini-cards--6col { grid-template-columns: repeat(2, 1fr); } }
@container (max-width: 240px) { .swp-mini-cards--2col,
                                 .swp-mini-cards--3col,
                                 .swp-mini-cards--4col,
                                 .swp-mini-cards--5col,
                                 .swp-mini-cards--6col { grid-template-columns: 1fr; } }

/* ── Autor / Data — estilo global (todos os blocos) ─────────────────────────── */
.swp-post-meta  { display: inline-flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-top: 4px; }
.swp-author     { font-size: .75rem; color: #999; }
.swp-date       { font-size: .75rem; color: #bbb; }
.swp-meta-sep   { font-size: .75rem; color: #ddd; }
html[data-theme="dark"] .swp-author,
html[data-theme="dark"] .swp-date   { color: #6e7681; }
html[data-theme="dark"] .swp-meta-sep { color: #30363d; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .swp-author,
    :root:not([data-theme="light"]) .swp-date    { color: #6e7681; }
    :root:not([data-theme="light"]) .swp-meta-sep { color: #30363d; }
}
.swp-block--no-author .swp-author,
.swp-block--no-author .swp-author-sep { display: none; }
.swp-block--no-date   .swp-date,
.swp-block--no-date   .swp-date-sep   { display: none; }

/* ── Destaque Links ──────────────────────────────────────────────────────────── */
.swp-destaque-links { display: flex; flex-direction: column; gap: 12px; }

.swp-dl-group {
    background: var(--swp-blk-card-bg, transparent);
    overflow: hidden;
    border-radius: var(--swp-radius);
    display: flex;
    min-height: 190px;
}

/* Foto esquerda */
.swp-dl-thumb {
    flex: 0 0 40%;
    overflow: hidden;
    display: block;
    position: relative;
    min-height: 190px;
}
.swp-dl-thumb img {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .35s;
}
/* Hover na foto OU no título → ambos reagem juntos (excluindo meta/categoria) */
.swp-dl-group:has(.swp-dl-thumb:hover, .swp-dl-title:hover) .swp-dl-thumb img { transform: scale(1.04); }
.swp-dl-group:has(.swp-dl-thumb:hover, .swp-dl-title:hover) .swp-dl-title a   { color: var(--swp-cat-bg, var(--swp-blk-hover-color, var(--swp-accent))); opacity: .8; }
.swp-dl-thumb:hover { opacity: 1; }

/* Coluna direita */
.swp-dl-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--swp-border);
    min-width: 0;
    overflow: hidden;
}

/* Info do destaque (post 1) */
.swp-dl-info {
    padding: 14px 16px 12px;
    display: flex; flex-direction: column; gap: 7px;
    border-bottom: 1px solid var(--swp-border);
    flex: 1;
}

.swp-dl-cat {
    display: inline-block; align-self: flex-start;
    font-size: .67rem; font-weight: 700;
    padding: 2px 7px; border-radius: 3px;
    text-transform: uppercase; letter-spacing: .04em;
}
.swp-dl-cat a { color: inherit; text-decoration: none; }
.swp-block--no-cat .swp-dl-cat { display: none; }

/* Meta autor · data do destaque principal */
.swp-dl-meta { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; margin-top: auto; }
.swp-dl-meta-author { font-size: .75rem; color: #999; }
.swp-dl-meta-sep    { font-size: .75rem; color: #ddd; }
.swp-dl-meta-date   { font-size: .75rem; color: #bbb; }
html[data-theme="dark"] .swp-dl-meta-author,
html[data-theme="dark"] .swp-dl-meta-date { color: #6e7681; }
html[data-theme="dark"] .swp-dl-meta-sep  { color: #30363d; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-dl-meta-author,
                                       :root:not([data-theme="light"]) .swp-dl-meta-date { color: #6e7681; }
  :root:not([data-theme="light"]) .swp-dl-meta-sep { color: #30363d; }}

.swp-dl-title {
    font-size: var(--swp-dl-title-fs, var(--swp-blk-fs, 1.5625rem));
    font-family: var(--swp-blk-ff, inherit);
    line-height: var(--swp-blk-lh, 1.3);
    font-weight: var(--swp-dl-title-fw, var(--swp-blk-fw, 800));
    color: var(--swp-blk-title-color, var(--swp-dl-title-color, var(--swp-text)));
}
.swp-dl-title a { color: inherit; text-decoration: none; transition: color .15s, opacity .15s; }
.swp-dl-title a:hover { color: var(--swp-cat-bg, var(--swp-blk-hover-color, var(--swp-accent))); opacity: .8; }

.swp-dl-meta {
    display: flex; gap: 5px; align-items: center; flex-wrap: wrap;
    margin-top: auto;
}

/* Links (posts 2, 3, 4) */
.swp-dl-links { display: flex; flex-direction: column; }

/* Sem bullet */
.swp-dl-links--no-bullet .swp-dl-bullet { display: none; }

/* Variante com miniatura — substitui o bullet por uma foto */
.swp-dl-link-thumb-wrap {
    flex-shrink: 0; overflow: hidden; aspect-ratio: 3/2;
    border-radius: var(--swp-img-radius, var(--swp-radius, 4px));
}
.swp-dl-link-thumb {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block; transition: transform .3s;
}
.swp-dl-links--fotos { background: var(--swp-blk-card-bg, transparent); border-radius: var(--swp-radius); overflow: hidden; }
.swp-dl-links--fotos .swp-dl-link { align-items: center; }
.swp-dl-links--fotos .swp-dl-link:hover .swp-dl-link-thumb { transform: scale(1.04); }

.swp-dl-link {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--swp-border);
    cursor: default;
}
.swp-dl-link:last-child { border-bottom: none; }

.swp-dl-bullet {
    width: 8px; height: 8px;
    background: var(--swp-dl-bullet-color, var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent))));
    border-radius: 2px;
    flex-shrink: 0; margin-top: 4px;
}

.swp-dl-link-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }

.swp-dl-link-title {
    font-size: var(--swp-dl-link-fs, var(--swp-blk-fs, .85rem));
    font-weight: var(--swp-dl-link-fw, var(--swp-blk-fw, 700));
    font-family: var(--swp-blk-ff, inherit);
    color: var(--swp-blk-title-color, var(--swp-dl-link-color, var(--swp-text)));
    line-height: var(--swp-blk-lh, 1.35);
    display: block;
    transition: color .15s;
    text-decoration: none;
}
.swp-dl-link-title:hover { color: var(--swp-cat-bg, var(--swp-blk-hover-color, var(--swp-accent))); cursor: pointer; }

/* Meta (swp_post_meta) no contexto dos links — direita da mesma linha */
.swp-dl-link-body .swp-post-meta {
    display: flex; gap: 4px; align-items: center;
    flex-shrink: 0; white-space: nowrap;
    font-size: .75rem; color: #999;
}
.swp-dl-link-body .swp-meta-sep { color: #ddd; }
.swp-dl-link-body .swp-date     { color: #bbb; }

.swp-dl-link-meta { display: flex; gap: 5px; align-items: center; flex-wrap: nowrap; overflow: hidden; }

.swp-dl-link-cat {
    font-size: .65rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .03em;
    color: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent)));
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.swp-dl-link-sep    { font-size: .65rem; color: #ddd; }
.swp-dl-link-author { font-size: .65rem; color: #999; }
.swp-dl-link-date   { font-size: .65rem; color: #bbb; }
html[data-theme="dark"] .swp-dl-link-sep    { color: #30363d; }
html[data-theme="dark"] .swp-dl-link-author,
html[data-theme="dark"] .swp-dl-link-date   { color: #6e7681; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-dl-link-sep { color: #30363d; }
  :root:not([data-theme="light"]) .swp-dl-link-author,
  :root:not([data-theme="light"]) .swp-dl-link-date { color: #6e7681; }}

/* Ocultar cat/author/date nos links quando o bloco tem no-* */
.swp-block--no-cat    .swp-dl-link-cat,
.swp-block--no-cat    .swp-cat-sep    { display: none; }
.swp-block--no-author .swp-dl-link-author,
.swp-block--no-author .swp-author-sep { display: none; }
.swp-block--no-date   .swp-dl-link-date,
.swp-block--no-date   .swp-date-sep   { display: none; }

/* Responsivo */
@media (max-width: 640px) {
    .swp-dl-group  { flex-direction: column; min-height: unset; }
    .swp-dl-thumb  { flex: none; aspect-ratio: 16/9; min-height: unset; width: 100%; }
    .swp-dl-right  { border-left: none; border-top: 1px solid var(--swp-border); }
    .swp-dl-info   { padding: 10px 12px 8px; }
    .swp-dl-link   { padding: 7px 12px; }
    .swp-dl-title  { font-size: var(--swp-dl-title-fs, var(--swp-blk-fs, 1.15rem)); }
}

/* ── Destaque Hero (swp-dh-*) ────────────────────────────────────────────── */
.swp-dh-list { display: flex; flex-direction: column; gap: 1.5rem; background: var(--swp-blk-card-bg, transparent); border-radius: var(--swp-radius); overflow: hidden; }
.swp-dh-card { display: flex; gap: 1.5rem; align-items: center; }
.swp-dh-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .55rem; }
.swp-dh-title {
    font-size: var(--swp-blk-fs, clamp(1.4rem, 3vw, 2.2rem));
    font-weight: var(--swp-blk-fw, 800);
    font-family: var(--swp-blk-ff, inherit);
    line-height: var(--swp-blk-lh, 1.15);
    color: var(--swp-blk-title-color, var(--swp-text));
    display: block;
    transition: color .15s, opacity .12s;
}
.swp-dh-card:hover .swp-dh-title { color: var(--swp-cat-bg, var(--swp-blk-hover-color, var(--swp-accent))); opacity: .8; }
.swp-dh-excerpt { font-size: .9rem; color: var(--swp-muted, #888); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.swp-dh-meta { margin-top: .3rem; }
.swp-dh-meta .swp-post-meta { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; font-size: .72rem; }
.swp-dh-meta .swp-dh-meta-cat { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent))); text-decoration: none; }
.swp-dh-meta .swp-author { color: #aaa; }
.swp-dh-meta .swp-date   { color: #aaa; }
.swp-dh-meta .swp-meta-sep { color: #555; }
.swp-dh-thumb-link { flex-shrink: 0; display: block; overflow: hidden; border-radius: var(--swp-img-radius, var(--swp-radius, 6px)); position: relative; }
.swp-dh-thumb { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center; display: block; transition: transform .35s; }
.swp-dh-card:hover .swp-dh-thumb { transform: scale(1.04); }
html[data-theme="dark"] .swp-dh-meta .swp-author,
html[data-theme="dark"] .swp-dh-meta .swp-date     { color: #6e7681; }
html[data-theme="dark"] .swp-dh-meta .swp-meta-sep { color: #30363d; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .swp-dh-meta .swp-author,
    :root:not([data-theme="light"]) .swp-dh-meta .swp-date     { color: #6e7681; }
    :root:not([data-theme="light"]) .swp-dh-meta .swp-meta-sep { color: #30363d; }
}
@media (max-width: 600px) {
    .swp-dh-card { flex-direction: column; }
    .swp-dh-thumb-link { width: 100% !important; }
}

/* ── Destaque Card (swp-dc-*) ────────────────────────────────────────────── */
.swp-dc-list { display: flex; flex-direction: column; gap: 1rem; background: var(--swp-blk-card-bg, transparent); border-radius: var(--swp-radius); overflow: hidden; }
.swp-dc-card { display: flex; gap: 1rem; align-items: center; }
.swp-dc-thumb-link { flex-shrink: 0; display: block; overflow: hidden; border-radius: var(--swp-img-radius, var(--swp-radius, 4px)); position: relative; }
.swp-dc-thumb { width: 100%; aspect-ratio: 3/2; object-fit: cover; object-position: center; display: block; transition: transform .3s; }
.swp-dc-thumb-link:hover .swp-dc-thumb,
.swp-dc-card:hover .swp-dc-thumb { transform: scale(1.04); }
.swp-dc-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .4rem; }
.swp-dc-meta { display: flex; align-items: center; gap: 5px; overflow: hidden; flex-wrap: nowrap; font-size: .65rem; }
.swp-dc-cat { font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--swp-cat-bg, var(--swp-block-accent, var(--swp-accent))); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.swp-dc-sep { color: #ddd; flex-shrink: 0; }
.swp-dc-meta .swp-post-meta { display: contents; }
.swp-dc-meta .swp-author { color: #999; white-space: nowrap; }
.swp-dc-meta .swp-meta-sep { color: #ddd; }
.swp-dc-meta .swp-date { color: #bbb; white-space: nowrap; flex-shrink: 0; }
.swp-dc-title {
    font-size: var(--swp-dc-fs, var(--swp-blk-fs, 1.1rem));
    font-weight: var(--swp-blk-fw, 700);
    font-family: var(--swp-blk-ff, inherit);
    color: var(--swp-blk-title-color, var(--swp-text, inherit));
    line-height: var(--swp-blk-lh, 1.3);
    display: block;
    transition: color .15s;
}
.swp-dc-card:hover .swp-dc-title { color: var(--swp-cat-bg, var(--swp-blk-hover-color, var(--swp-accent))); }
.swp-dc-excerpt { font-size: .82rem; color: var(--swp-muted, #777); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }

/* Paginação do Card Destaque */
.swp-dc-pagination { margin-top: 1.25rem; }

/* Numerada */
.swp-dc-pag--numbers .page-numbers { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; padding: 0; margin: 0; }
.swp-dc-pag--numbers .page-numbers li { margin: 0; }
.swp-dc-pag--numbers .page-numbers a,
.swp-dc-pag--numbers .page-numbers span { display: flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 .5rem; border-radius: 4px; font-size: .8rem; font-weight: 600; text-decoration: none; border: 1px solid var(--swp-border, #e0e0e0); color: var(--swp-text); transition: background .15s, color .15s; }
.swp-dc-pag--numbers .page-numbers a:hover { background: var(--swp-accent); color: #fff; border-color: var(--swp-accent); }
.swp-dc-pag--numbers .page-numbers .current { background: var(--swp-accent); color: #fff; border-color: var(--swp-accent); }
.swp-dc-pag--numbers .page-numbers .dots { border: none; color: #999; }

/* Anterior / Próximo */
.swp-dc-pag--prevnext { display: flex; justify-content: space-between; gap: 1rem; }
.swp-dc-pag--prevnext a { font-size: .82rem; font-weight: 600; color: var(--swp-accent); text-decoration: none; padding: .45rem .9rem; border: 1px solid var(--swp-accent); border-radius: 4px; transition: background .15s, color .15s; }
.swp-dc-pag--prevnext a:hover { background: var(--swp-accent); color: #fff; }
.swp-dc-pag-next { margin-left: auto; }

/* Âncora de paginação — scroll automático após reload */
.swp-dc-anchor { display: block; scroll-margin-top: var(--swp-header-h, 80px); }
.swp-dc-list.swp-dc-out { opacity: 0; transition: opacity .2s ease; pointer-events: none; }

/* Carregar Mais */
@keyframes swp-spin { to { transform: rotate(360deg); } }
@keyframes swp-card-in {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.swp-dc-pag--more { text-align: center; margin-top: .5rem; }
.swp-dc-load-more { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1.5rem; font-size: .82rem; font-weight: 600; color: var(--swp-accent); background: transparent; border: 2px solid var(--swp-accent); border-radius: 4px; cursor: pointer; transition: background .15s, color .15s; }
.swp-dc-load-more:hover { background: var(--swp-accent); color: #fff; }
.swp-dc-load-more.swp-loading { opacity: .72; cursor: wait; pointer-events: none; }
.swp-dc-load-more .swp-spinner { display: inline-block; width: 13px; height: 13px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: swp-spin .65s linear infinite; flex-shrink: 0; }
.swp-dc-card--entering { animation: swp-card-in .38s ease both; }
html[data-theme="dark"] .swp-dc-sep,
html[data-theme="dark"] .swp-dc-meta .swp-meta-sep { color: #30363d; }
html[data-theme="dark"] .swp-dc-meta .swp-author,
html[data-theme="dark"] .swp-dc-meta .swp-date     { color: #6e7681; }
html[data-theme="dark"] .swp-dc-excerpt { color: #8b949e; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .swp-dc-sep,
    :root:not([data-theme="light"]) .swp-dc-meta .swp-meta-sep { color: #30363d; }
    :root:not([data-theme="light"]) .swp-dc-meta .swp-author,
    :root:not([data-theme="light"]) .swp-dc-meta .swp-date     { color: #6e7681; }
    :root:not([data-theme="light"]) .swp-dc-excerpt { color: #8b949e; }
}

/* ── Player de Vídeo (facade) — reutilizável em qualquer bloco de card ───────
   .swp-video-play  : botão de play, absoluto, sobreposto a uma miniatura já
                       existente (ex: grade-cards) OU dentro de .swp-video-facade
   .swp-video-facade: bloco autocontido com imagem de fundo (poster) + o botão,
                       usado onde não há miniatura própria (ex: fim da matéria)
   .swp-video-modal / .swp-video-inline-frame: onde o player real é montado    */
.swp-video-play {
    position: absolute;
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    width: 40px; height: 40px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.5);
    border: 2px solid rgba(255,255,255,.9);
    padding: 0; margin: 0; cursor: pointer;
    transition: transform .2s;
}
.swp-video-play::after {
    content: '';
    position: absolute; inset: -7px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.3);
    animation: swp-pulse 2s ease-out infinite;
    pointer-events: none;
    transition: opacity .15s;
}
@keyframes swp-pulse {
    0%   { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.7); }
}
/* Hover: pausa o anel para seta e círculo escalonarem juntos */
.swp-video-play:hover { transform: translate(-50%, -50%) scale(1.15); }
.swp-video-play:hover::after { animation-play-state: paused; opacity: 0; }
.swp-video-play svg { width: 16px; height: 16px; filter: drop-shadow(0 1px 4px rgba(0,0,0,.4)); margin-left: 2px; }
@container (max-width: 280px) {
    .swp-video-play { width: 30px; height: 30px; top: 36%; }
    .swp-video-play svg { width: 12px; height: 12px; }
}

.swp-video-facade {
    position: relative; aspect-ratio: 16/9; background-size: cover; background-position: center;
    background-color: #111; border-radius: var(--swp-radius); overflow: hidden; margin: 18px 0;
}
/* No bloco com poster próprio (fim da matéria) o play fica no centro geométrico, maior */
.swp-video-facade .swp-video-play { top: 50%; width: 70px; height: 70px; }
.swp-video-facade .swp-video-play svg { width: 28px; height: 28px; }

.swp-video-inline-frame {
    position: relative; aspect-ratio: 16/9; background: #111;
    border-radius: var(--swp-radius); overflow: hidden; margin: 18px 0;
}
.swp-video-inline-frame iframe,
.swp-video-inline-frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ── Variantes de play button (escolhidas no painel Cores) ─────────────────── */

/* A1 — círculo escuro + borda branca fina, sem anel pulsante */
.swp-play--a1 .swp-video-play { width: 36px; height: 36px; background: rgba(0,0,0,.4); border: 1.5px solid rgba(255,255,255,.85); }
.swp-play--a1 .swp-video-play::after { display: none; }
.swp-play--a1 .swp-video-play svg { width: 14px; height: 14px; margin-left: 2px; }
.swp-play--a1 .swp-video-facade .swp-video-play { width: 58px; height: 58px; }
.swp-play--a1 .swp-video-facade .swp-video-play svg { width: 22px; height: 22px; }

/* A2 — círculo branco sólido, triângulo escuro */
.swp-play--a2 .swp-video-play { width: 36px; height: 36px; background: #fff; border: none; box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.swp-play--a2 .swp-video-play::after { display: none; }
.swp-play--a2 .swp-video-play svg { fill: #222; width: 14px; height: 14px; margin-left: 2px; }
.swp-play--a2 .swp-video-facade .swp-video-play { width: 62px; height: 62px; }
.swp-play--a2 .swp-video-facade .swp-video-play svg { width: 24px; height: 24px; }

/* A4 — minimal, só o triângulo com sombra */
.swp-play--a4 .swp-video-play { width: 44px; height: 44px; background: transparent; border: none; box-shadow: none; }
.swp-play--a4 .swp-video-play::after { display: none; }
.swp-play--a4 .swp-video-play svg { width: 44px; height: 44px; margin-left: 0; filter: drop-shadow(0 2px 6px rgba(0,0,0,.8)); }
.swp-play--a4 .swp-video-facade .swp-video-play { width: 70px; height: 70px; }
.swp-play--a4 .swp-video-facade .swp-video-play svg { width: 70px; height: 70px; }

.swp-video-modal {
    position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.85);
    display: flex; align-items: center; justify-content: center; padding: 24px;
}
.swp-video-modal-box    { position: relative; width: 100%; max-width: 900px; }
.swp-video-modal-player { position: relative; aspect-ratio: 16/9; background: #000; border-radius: 6px; overflow: hidden; }
.swp-video-modal-player iframe,
.swp-video-modal-player video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.swp-video-modal-close {
    position: absolute; top: -42px; right: 0; background: none; border: 0;
    color: #fff; font-size: 32px; line-height: 1; cursor: pointer; padding: 4px 10px;
}
.swp-video-modal-close:hover { opacity: .7; }
@media (max-width: 600px) { .swp-video-modal-close { top: -38px; font-size: 26px; } }

/* ── Dark mode ──────────────────────────────────────────────────────────────── */
/* Vars aplicadas via JS (anti-FOUC) + fallback via prefers-color-scheme        */
html[data-theme="dark"] {
    --swp-bg:         #0d1117;
    --swp-card-bg:    #161b22;
    --swp-text:       #e6edf3;
    --swp-text-muted: #8b949e;
    --swp-border:     #30363d;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
    --swp-bg:         #0d1117;
    --swp-card-bg:    #161b22;
    --swp-text:       #e6edf3;
    --swp-text-muted: #8b949e;
    --swp-border:     #30363d;
}}

/* Overrides de elementos com cor hardcoded */
html[data-theme="dark"] body { color: var(--swp-text); background: var(--swp-bg); }
html[data-theme="dark"] .swp-popular-item     { border-bottom-color: var(--swp-border); }
html[data-theme="dark"] .swp-popular-title    { color: var(--swp-text); }
html[data-theme="dark"] .swp-popular-time     { color: var(--swp-text-muted); }
html[data-theme="dark"] .swp-bloco-titulo     { color: var(--swp-text-muted); border-bottom-color: var(--swp-border); }
html[data-theme="dark"] .swp-article-tags a   { background: var(--swp-border); color: var(--swp-text); }
html[data-theme="dark"] .swp-titulo-s2        { border-bottom-color: var(--swp-border); }
html[data-theme="dark"] .swp-titulo-s5::before,
html[data-theme="dark"] .swp-titulo-s5::after { background: var(--swp-border); }
html[data-theme="dark"] .swp-titulo-s7::after { background: var(--swp-border); }
html[data-theme="dark"] .swp-block-unavailable { background: #1c1a0d; border-color: #5c4a0a; color: #d4a017; }

/* Conteúdo do post — overrides com !important para vencer Gutenberg e cores inline do builder */
html[data-theme="dark"] .swp-article-body,
html[data-theme="dark"] .swp-article-body p,
html[data-theme="dark"] .swp-article-body li,
html[data-theme="dark"] .swp-article-body ol,
html[data-theme="dark"] .swp-article-body ul,
html[data-theme="dark"] .swp-article-body h1,
html[data-theme="dark"] .swp-article-body h2,
html[data-theme="dark"] .swp-article-body h3,
html[data-theme="dark"] .swp-article-body h4,
html[data-theme="dark"] .swp-article-body h5,
html[data-theme="dark"] .swp-article-body h6,
html[data-theme="dark"] .swp-article-body blockquote,
html[data-theme="dark"] .swp-article-body figcaption,
html[data-theme="dark"] .swp-article-body td,
html[data-theme="dark"] .swp-article-body th { color: var(--swp-text) !important; }
html[data-theme="dark"] .swp-article-body a  { color: var(--swp-accent, #e94560); }
html[data-theme="dark"] .swp-article-body blockquote { border-left-color: var(--swp-border); background: var(--swp-card-bg); }
html[data-theme="dark"] .swp-article-body table { border-color: var(--swp-border); }
html[data-theme="dark"] .swp-article-body td,
html[data-theme="dark"] .swp-article-body th { border-color: var(--swp-border) !important; }
html[data-theme="dark"] .swp-article-title { color: var(--swp-text) !important; }
html[data-theme="dark"] .swp-article-meta  { color: var(--swp-text-muted) !important; }

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .swp-article-body,
    :root:not([data-theme="light"]) .swp-article-body p,
    :root:not([data-theme="light"]) .swp-article-body li,
    :root:not([data-theme="light"]) .swp-article-body ol,
    :root:not([data-theme="light"]) .swp-article-body ul,
    :root:not([data-theme="light"]) .swp-article-body h1,
    :root:not([data-theme="light"]) .swp-article-body h2,
    :root:not([data-theme="light"]) .swp-article-body h3,
    :root:not([data-theme="light"]) .swp-article-body h4,
    :root:not([data-theme="light"]) .swp-article-body h5,
    :root:not([data-theme="light"]) .swp-article-body h6,
    :root:not([data-theme="light"]) .swp-article-body blockquote,
    :root:not([data-theme="light"]) .swp-article-body figcaption,
    :root:not([data-theme="light"]) .swp-article-body td,
    :root:not([data-theme="light"]) .swp-article-body th { color: var(--swp-text) !important; }
    :root:not([data-theme="light"]) .swp-article-body a  { color: var(--swp-accent, #e94560); }
    :root:not([data-theme="light"]) .swp-article-title   { color: var(--swp-text) !important; }
    :root:not([data-theme="light"]) .swp-article-meta    { color: var(--swp-text-muted) !important; }
}

@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body         { color: var(--swp-text); background: var(--swp-bg); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-popular-item  { border-bottom-color: var(--swp-border); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-popular-title { color: var(--swp-text); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-popular-time  { color: var(--swp-text-muted); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-bloco-titulo  { color: var(--swp-text-muted); border-bottom-color: var(--swp-border); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-article-tags a { background: var(--swp-border); color: var(--swp-text); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-titulo-s2     { border-bottom-color: var(--swp-border); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-titulo-s5::before,
                                       :root:not([data-theme="light"]) .swp-titulo-s5::after { background: var(--swp-border); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-titulo-s7::after { background: var(--swp-border); }}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .swp-block-unavailable { background: #1c1a0d; border-color: #5c4a0a; color: #d4a017; }}

/* Toggle dark/light moderno no header */
.swp-dark-toggle {
    background: none; border: none; cursor: pointer;
    padding: 5px; border-radius: 50%;
    display: flex; align-items: center; flex-shrink: 0;
    outline-offset: 3px;
    transition: background .2s;
}
.swp-dark-toggle:hover {
    background: rgba(255,255,255,.12);
}
.swp-dark-toggle:focus-visible {
    outline: 2px solid rgba(255,255,255,.6);
}
.swp-dark-toggle-track {
    position: relative; display: inline-block;
    width: 42px; height: 24px; border-radius: 12px;
    background: rgba(255,255,255,.22);
    border: 1.5px solid rgba(255,255,255,.18);
    transition: background .25s, border-color .25s, box-shadow .25s;
    flex-shrink: 0;
}
.swp-dark-toggle:hover .swp-dark-toggle-track {
    background: rgba(255,255,255,.3);
    border-color: rgba(255,255,255,.35);
    box-shadow: 0 0 0 3px rgba(255,255,255,.08);
}
.swp-dark-toggle-thumb {
    position: absolute; top: 3px; left: 3px;
    width: 16px; height: 16px; border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.4);
    transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .2s;
}
.swp-dark-toggle:hover .swp-dark-toggle-thumb {
    box-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.swp-dark-toggle[aria-checked="true"] .swp-dark-toggle-track {
    background: #7c5cfc;
    border-color: #6a4be0;
}
.swp-dark-toggle[aria-checked="true"] .swp-dark-toggle-thumb {
    transform: translateX(18px);
}
.swp-dark-toggle[aria-checked="true"]:hover .swp-dark-toggle-track {
    background: #6a4be0;
    box-shadow: 0 0 0 3px rgba(124,92,252,.22);
}

/* Tooltip CSS no dark-mode toggle — aparece abaixo (header fixo no topo) */
.swp-dark-toggle { position: relative; }
.swp-dark-toggle::after,
.swp-dark-toggle::before {
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s, transform .18s;
    z-index: 9999;
}
.swp-dark-toggle::after {
    content: attr(data-tooltip);
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    background: rgba(15,23,42,.92);
    color: #f1f5f9;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .01em;
    padding: 5px 11px;
    border-radius: 7px;
    white-space: nowrap;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 14px rgba(0,0,0,.3);
}
.swp-dark-toggle::before {
    content: '';
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    border: 5px solid transparent;
    border-bottom-color: rgba(15,23,42,.92);
}
.swp-dark-toggle:hover::after,
.swp-dark-toggle:hover::before {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* ── Builder: separator customization via CSS vars ──────────────────────── */
.swp-block-wrap .swp-lt-item {
    border-bottom-color: var(--swp-sep-color, var(--swp-border));
    border-bottom-width: var(--swp-sep-h, 1px);
    padding-top: var(--swp-sep-pad, 11px);
    padding-bottom: var(--swp-sep-pad, 11px);
}
.swp-block-wrap .swp-dl-link {
    border-bottom-color: var(--swp-sep-color, var(--swp-border));
    border-bottom-width: var(--swp-sep-h, 1px);
    padding-top: var(--swp-sep-pad, 8px);
    padding-bottom: var(--swp-sep-pad, 8px);
}
.swp-block-wrap .swp-dh-list { gap: var(--swp-sep-pad, 1.5rem); }
.swp-block-wrap .swp-dc-card:not(:last-child) {
    border-bottom: var(--swp-sep-h, 1px) solid var(--swp-sep-color, var(--swp-border));
    padding-bottom: var(--swp-sep-pad, 1rem);
}
/* Disable separator line */
.swp-block-wrap.swp-no-sep .swp-lt-item,
.swp-block-wrap.swp-no-sep .swp-dl-link,
.swp-block-wrap.swp-no-sep .swp-dc-card  { border-bottom: none; }

/* ── Video Carousel (grade-cards + carousel=true) ───────────────────────── */
.swp-vc-wrap                { overflow:hidden; }
.swp-vc-viewport            { overflow:hidden; }
.swp-vc-track               { display:flex !important;grid-template-columns:none !important;
                              gap:12px;transition:none;will-change:transform; }
.swp-vc-track .swp-gc-item  { flex-shrink:0; }
.swp-vc-footer              { display:flex;justify-content:center;margin-top:14px; }
.swp-vc-cta                 { display:inline-flex;align-items:center;gap:6px;
                              background:var(--swp-block-accent,#e11d48);color:#fff;
                              font-size:.74rem;font-weight:700;padding:8px 20px;
                              border-radius:99px;text-decoration:none;transition:all .18s; }
.swp-vc-cta:hover           { filter:brightness(1.12);transform:scale(1.05); }
.swp-vc-cta svg             { stroke:#fff;flex-shrink:0; }

/* ── Video Stream Page ───────────────────────────────────────────────────── */
.swp-vsp                    { background:#0a0f1a;color:#f8fafc; }

/* topbar */
.swp-vsp-topbar             { display:flex;align-items:center;gap:12px;padding:0 20px;
                              background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.07);
                              flex-wrap:wrap; }
.swp-vsp-brand              { display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:900;
                              color:#fff;letter-spacing:.07em;text-transform:uppercase;
                              padding:12px 0;border-right:1px solid rgba(255,255,255,.07);
                              padding-right:16px;white-space:nowrap;flex-shrink:0; }
.swp-vsp-brand-dot          { width:7px;height:7px;border-radius:50%;background:var(--vsp-accent,#e11d48);
                              animation:swp-vsp-blink 1.4s ease-in-out infinite;flex-shrink:0; }
@keyframes swp-vsp-blink    { 0%,100%{opacity:1} 50%{opacity:.3} }
.swp-vsp-cats               { display:flex;gap:3px;overflow-x:auto;scrollbar-width:none;padding:9px 0;flex:1; }
.swp-vsp-cats::-webkit-scrollbar { display:none; }
.swp-vsp-cat                { padding:4px 13px;font-size:inherit;font-weight:600;
                              color:var(--vsp-cat-color,rgba(255,255,255,.38));
                              border-radius:var(--vsp-cat-radius,99px);
                              border:1px solid var(--vsp-cat-border-c,transparent);
                              background:var(--vsp-cat-bg,transparent);
                              white-space:nowrap;appearance:none;-webkit-appearance:none;
                              cursor:pointer;font-family:inherit;
                              text-decoration:none;transition:color .15s,background .15s,border-color .15s,opacity .15s; }
.swp-vsp-cat:hover          { color:rgba(255,255,255,.85);opacity:.85; }
.swp-vsp-cat.active         { background:var(--vsp-accent-bg,rgba(225,29,72,.12));border-color:var(--vsp-accent-border,rgba(225,29,72,.35));color:var(--vsp-accent,#e11d48);opacity:1; }
.swp-vsp-sort               { display:flex;gap:4px;padding:9px 0;flex-shrink:0; }
.swp-vsp-ord                { font-size:.68rem;font-weight:600;color:var(--vsp-ord-color,rgba(255,255,255,.3));
                              appearance:none;-webkit-appearance:none;background:none;
                              cursor:pointer;font-family:inherit;
                              text-decoration:none;padding:3px 10px;border-radius:99px;
                              border:1px solid transparent;transition:color .14s,background .14s,border-color .14s; }
.swp-vsp-ord:hover          { color:rgba(255,255,255,.75);background:rgba(255,255,255,.04); }
.swp-vsp-ord.active         { color:#fff;border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06); }

/* spinner */
.swp-vsp-spinner            { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
                              background:rgba(0,0,0,.5);z-index:10;
                              opacity:0;pointer-events:none;transition:opacity .2s; }
.swp-vsp-spinner.visible    { opacity:1;pointer-events:auto; }
.swp-vsp-spinner svg        { width:44px;height:44px;animation:swp-vsp-spin .75s linear infinite; }
@keyframes swp-vsp-spin     { to { transform:rotate(360deg); } }

/* player + queue */
.swp-vsp-main               { display:grid;grid-template-columns:1fr var(--vsp-queue-w,300px); }
.swp-vsp-player             { position:relative;aspect-ratio:16/9;background:#000;overflow:hidden; }
.swp-vsp-player-inner       { position:absolute;inset:0; }
.swp-vsp-poster             { position:absolute;inset:0;background-size:cover;background-position:center;
                              display:flex;align-items:center;justify-content:center; }
.swp-vsp-play-btn           { width:60px;height:60px;border-radius:50%;background:var(--vsp-accent,rgba(225,29,72,.9));
                              border:none;cursor:pointer;display:flex;align-items:center;
                              justify-content:center;transition:all .2s;
                              animation:swp-vsp-pulse 2.5s ease-in-out infinite; }
.swp-vsp-play-btn--no-poster { position:absolute;inset:0;width:100%;height:100%;
                               border-radius:0;background:rgba(0,0,0,.3);animation:none; }
.swp-vsp-play-btn--no-poster svg { width:48px;height:48px; }
@keyframes swp-vsp-pulse    { 0%{box-shadow:0 0 0 0 rgba(225,29,72,.5)} 65%{box-shadow:0 0 0 18px rgba(225,29,72,0)} 100%{box-shadow:0 0 0 0 rgba(225,29,72,0)} }
.swp-vsp-play-btn:hover     { transform:scale(1.08); }
.swp-vsp-play-btn svg       { width:22px;height:22px;margin-left:3px; }
.swp-vsp-iframe-wrap        { position:absolute;inset:0; }
.swp-vsp-meta               { padding:13px 18px;background:#0d1219;border-top:1px solid rgba(255,255,255,.05); }
.swp-vsp-meta-title         { font-size:.92rem;font-weight:800;color:#fff;line-height:1.3;margin-bottom:8px; }
.swp-vsp-meta-row           { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap; }
.swp-vsp-meta-info          { display:flex;align-items:center;gap:10px; }
.swp-vsp-meta-cat           { font-size:var(--vsp-meta-info-size,.68rem);font-weight:800;color:var(--vsp-meta-cat-color,var(--vsp-accent,#e11d48));text-transform:uppercase;letter-spacing:.05em; }
.swp-vsp-meta-date          { font-size:var(--vsp-meta-info-size,.68rem);color:rgba(255,255,255,.35); }
.swp-vsp-meta-link          { display:inline-flex;align-items:center;gap:5px;font-size:.7rem;
                              font-weight:600;color:rgba(255,255,255,.45);text-decoration:none;transition:color .14s; }
.swp-vsp-meta-link:hover    { color:#fff; }
.swp-vsp-meta-link svg      { stroke:currentColor; }

/* fila lateral */
.swp-vsp-queue              { background:#0d1219;border-left:1px solid rgba(255,255,255,.05);
                              display:flex;flex-direction:column; }
.swp-vsp-queue-head         { padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.05);
                              display:flex;align-items:center;justify-content:space-between; }
.swp-vsp-queue-label        { font-size:.62rem;font-weight:800;color:rgba(255,255,255,.3);
                              text-transform:uppercase;letter-spacing:.08em; }
.swp-vsp-autoplay           { display:flex;align-items:center;gap:6px;font-size:.62rem;
                              color:rgba(255,255,255,.3);cursor:pointer;user-select:none; }
.swp-vsp-autoplay input     { display:none; }
.swp-vsp-toggle             { width:26px;height:14px;background:rgba(225,29,72,.8);border-radius:99px;
                              position:relative;flex-shrink:0;transition:background .18s; }
.swp-vsp-toggle::after      { content:"";position:absolute;width:10px;height:10px;background:#fff;
                              border-radius:50%;top:2px;right:2px;transition:right .18s; }
.swp-vsp-autoplay input:not(:checked) ~ .swp-vsp-toggle              { background:rgba(255,255,255,.15); }
.swp-vsp-autoplay input:not(:checked) ~ .swp-vsp-toggle::after       { right:auto;left:2px; }
.swp-vsp-qlist              { list-style:none;overflow-y:auto;flex:1;scrollbar-width:thin;max-height:420px; }
.swp-vsp-qlist::-webkit-scrollbar       { width:2px; }
.swp-vsp-qlist::-webkit-scrollbar-thumb { background:rgba(255,255,255,.08); }
.swp-vsp-qi                 { display:flex;gap:9px;padding:9px 13px;cursor:pointer;
                              border-bottom:1px solid rgba(255,255,255,.03);
                              transition:background .14s;align-items:flex-start;position:relative; }
.swp-vsp-qi:hover           { background:rgba(255,255,255,.03); }
.swp-vsp-qi.active          { background:var(--vsp-accent-bg,rgba(225,29,72,.06)); }
.swp-vsp-qi.active::before  { content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--vsp-accent,#e11d48); }
.swp-vsp-qi-num             { font-size:.6rem;font-weight:700;color:rgba(255,255,255,.22);
                              width:14px;flex-shrink:0;text-align:center;padding-top:2px; }
.swp-vsp-qi.active .swp-vsp-qi-num { color:var(--vsp-accent,#e11d48); }
.swp-vsp-qi-thumb           { width:var(--vsp-qi-thumb-w,82px);flex-shrink:0;aspect-ratio:16/9;border-radius:4px;overflow:hidden; }
.swp-vsp-qi-thumb img       { width:100%;height:100%;object-fit:cover;display:block; }
.swp-vsp-qi-info            { flex:1;min-width:0; }
.swp-vsp-qi-title           { font-size:var(--vsp-qi-title-size,.71rem);font-weight:var(--vsp-qi-title-weight,700);
                              color:var(--vsp-qi-title-color,rgba(255,255,255,.78));line-height:1.3;
                              display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
                              overflow:hidden;margin-bottom:3px; }
.swp-vsp-qi-meta            { font-size:.59rem;color:rgba(255,255,255,.28); }
.swp-vsp-qi-meta span + span::before { content:" · "; }

/* ── Formulário de comentários moderno ──────────────────────────────────── */
.swp-comentarios { margin-top: 2rem; }

.swp-comentarios .comment-respond { margin-top: 2rem; }
.swp-comentarios > .comment-respond:first-child { margin-top: 0; }

.swp-comments-title {
    font-size: 1.1rem; font-weight: 700;
    margin: 2.5rem 0 1.25rem;
    padding-bottom: .6rem; border-bottom: 2px solid var(--swp-accent, #e94560);
    color: var(--swp-text);
}

.swp-no-comments,
.swp-comments-closed {
    font-size: .9rem; color: var(--swp-muted, #888);
    margin: 2.5rem 0 0;
}

.swp-comments-pagination {
    display: flex; gap: .5rem; margin-top: 1.5rem;
}
.swp-comments-pagination a,
.swp-comments-pagination span {
    padding: .4rem .75rem; border-radius: 6px;
    font-size: .85rem; text-decoration: none;
    color: var(--swp-text); border: 1px solid var(--swp-border, #e2e8f0);
}
.swp-comments-pagination a:hover { border-color: var(--swp-accent, #e94560); }
.swp-comments-pagination .current { background: var(--swp-accent, #e94560); color: #fff; border-color: transparent; }

.swp-comentarios .comment-reply-title {
    font-size: 1.1rem; font-weight: 700; margin-bottom: 1.25rem;
    padding-bottom: .6rem; border-bottom: 2px solid var(--swp-accent, #e94560);
    color: var(--swp-text);
}
.swp-comentarios .comment-reply-title small { float: right; font-size: .8rem; font-weight: 400; }
.swp-comentarios .comment-reply-title small a { color: var(--swp-accent, #e94560); text-decoration: none; }

.swp-comentarios .comment-notes {
    font-size: .82rem; color: var(--swp-muted, #888); margin-bottom: 1.25rem;
}

/* Grid 2 colunas para Nome/E-mail */
.swp-comentarios #commentform .comment-form-author,
.swp-comentarios #commentform .comment-form-email { width: 100%; }

.swp-comentarios #commentform {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.4rem 1.5rem;
}
.swp-comentarios #commentform .comment-notes,
.swp-comentarios #commentform .comment-form-comment,
.swp-comentarios #commentform .comment-form-url,
.swp-comentarios #commentform .form-submit,
.swp-comentarios #commentform .comment-form-cookies-consent { grid-column: 1 / -1; }

/* Labels */
.swp-comentarios #commentform label {
    display: block; font-size: .78rem; font-weight: 600;
    margin-bottom: .35rem; color: var(--swp-muted, #888);
    text-transform: uppercase; letter-spacing: .04em;
}

/* Inputs e textarea */
.swp-comentarios #commentform input[type="text"],
.swp-comentarios #commentform input[type="email"],
.swp-comentarios #commentform input[type="url"],
.swp-comentarios #commentform textarea {
    width: 100%; padding: .65rem .85rem;
    background: var(--swp-card-bg, #fff);
    border: 1px solid var(--swp-border, #e5e7eb);
    border-radius: 8px; font-size: .9rem;
    color: var(--swp-text); font-family: inherit;
    transition: border-color .18s, box-shadow .18s;
    box-sizing: border-box;
}
.swp-comentarios #commentform input[type="text"]:focus,
.swp-comentarios #commentform input[type="email"]:focus,
.swp-comentarios #commentform input[type="url"]:focus,
.swp-comentarios #commentform textarea:focus {
    outline: none;
    border-color: var(--swp-accent, #e94560);
    box-shadow: 0 0 0 3px rgba(233,69,96,.12);
}
.swp-comentarios #commentform textarea { resize: vertical; min-height: 120px; }

/* Checkbox cookies — remove caixa alta do WP padrão */
.swp-comentarios .comment-form-cookies-consent {
    display: flex; align-items: flex-start; gap: .6rem;
    font-size: .82rem; color: var(--swp-muted, #888); line-height: 1.45;
}
.swp-comentarios .comment-form-cookies-consent input { width: auto; margin: .15rem 0 0; flex-shrink: 0; }
.swp-comentarios .comment-form-cookies-consent label {
    text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .82rem;
}

/* Botão submit */
.swp-comentarios #commentform #submit {
    display: inline-flex; align-items: center; gap: .4rem;
    background: var(--swp-accent, #e94560); color: #fff;
    border: none; border-radius: 8px; cursor: pointer;
    padding: .65rem 1.6rem; font-size: .9rem; font-weight: 700;
    font-family: inherit; transition: opacity .18s, transform .15s;
    width: auto;
}
.swp-comentarios #commentform #submit:hover { opacity: .88; transform: translateY(-1px); }

/* ── Lista de comentários ── */
.swp-comentarios .comment-list { list-style: none; padding: 0; margin: 0 0 2.5rem; }
.swp-comentarios .comment-list .children { list-style: none; padding-left: 2rem; margin: 0; border-left: 2px solid var(--swp-border, #e5e7eb); margin-top: .5rem; }

.swp-comentarios .comment-body {
    padding: 1.5rem 0; border-bottom: 1px solid var(--swp-border, #e5e7eb);
}
.swp-comentarios .comment-list > li:first-child > .comment-body { padding-top: .5rem; }

.swp-comentarios .comment-author { display: flex; align-items: center; gap: .75rem; margin-bottom: .5rem; }
.swp-comentarios .comment-author img { border-radius: 50%; width: 40px; height: 40px; flex-shrink: 0; }
.swp-comentarios .comment-author .fn { font-weight: 700; font-size: .95rem; color: var(--swp-text); }
.swp-comentarios .comment-author a { text-decoration: none; color: inherit; }
.swp-comentarios .comment-metadata { font-size: .78rem; color: var(--swp-muted, #888); margin-bottom: .85rem; padding-left: calc(40px + .75rem); }
.swp-comentarios .comment-metadata a { color: inherit; text-decoration: none; }
.swp-comentarios .comment-content p { font-size: .95rem; line-height: 1.7; color: var(--swp-text); margin: 0; }
.swp-comentarios .reply { margin-top: .85rem; }
.swp-comentarios .reply a {
    display: inline-block;
    font-size: .8rem; color: var(--swp-muted, #888);
    text-decoration: none; font-weight: 600;
    padding: .3rem .75rem;
    border: 1px solid var(--swp-border, #e5e7eb);
    border-radius: 20px;
    transition: color .15s, border-color .15s;
}
.swp-comentarios .reply a:hover {
    color: var(--swp-accent, #e94560);
    border-color: var(--swp-accent, #e94560);
}
.swp-comentarios .bypostauthor > .comment-body {
    background: var(--swp-card-bg, #f9f9f9);
    border-radius: 10px; padding: 1.25rem 1.25rem .75rem; border: none;
}

/* Dark mode */
[data-theme="dark"] .swp-comentarios #commentform input[type="text"],
[data-theme="dark"] .swp-comentarios #commentform input[type="email"],
[data-theme="dark"] .swp-comentarios #commentform input[type="url"],
[data-theme="dark"] .swp-comentarios #commentform textarea {
    background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); color: #e2e8f0;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .swp-comentarios #commentform input[type="text"],
    :root:not([data-theme="light"]) .swp-comentarios #commentform input[type="email"],
    :root:not([data-theme="light"]) .swp-comentarios #commentform input[type="url"],
    :root:not([data-theme="light"]) .swp-comentarios #commentform textarea {
        background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); color: #e2e8f0;
    }
}

/* Mobile: 1 coluna */
@media (max-width: 600px) {
    .swp-comentarios #commentform { grid-template-columns: 1fr; }
    .swp-comentarios .comment-list .children { padding-left: .75rem; }
}

/* ── Comentários: spinner + notificações ────────────────────────────── */
@keyframes swp-spin { to { transform: rotate(360deg); } }

.swp-btn-spinner {
    display: inline-block;
    width: 14px; height: 14px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: swp-spin .7s linear infinite;
    vertical-align: middle;
    margin-right: 4px;
}

.swp-comentarios #submit:disabled {
    opacity: .75;
    cursor: default;
    transform: none;
}

.swp-comment-notice {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    font-size: .9rem;
    line-height: 1.5;
    margin-bottom: 1.25rem;
}

.swp-comment-notice--success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.swp-comment-notice--error {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #9f1239;
}

.swp-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 700;
    flex-shrink: 0;
}

.swp-comment-notice--success .swp-notice-icon { background: #16a34a; color: #fff; }
.swp-comment-notice--error   .swp-notice-icon { background: #e11d48; color: #fff; }

[data-theme="dark"] .swp-comment-notice--success {
    background: rgba(22,163,74,.12);
    border-color: rgba(22,163,74,.3);
    color: #86efac;
}

[data-theme="dark"] .swp-comment-notice--error {
    background: rgba(225,29,72,.12);
    border-color: rgba(225,29,72,.3);
    color: #fda4af;
}

/* responsive */
@media (max-width:700px) {
    .swp-vsp-main           { grid-template-columns:1fr; }
    .swp-vsp-queue          { border-left:none;border-top:1px solid rgba(255,255,255,.05); }
    .swp-vsp-qlist          { max-height:260px; }
    .swp-vsp-topbar         { gap:6px; }
}
