/*
Theme Name: Vértice WP
Theme URI: https://agdiatech.com.br/
Author: AGD IA Tech
Author URI: https://agdiatech.com.br/
Description: Tema WordPress multipropósito, responsivo, acessível e independente de plugins.
Version: 3.5.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vertice-wp
Tags: blog, news, portfolio, one-column, two-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

:root {
  --vp-bg: #f7f8fb;
  --vp-surface: #fff;
  --vp-surface-alt: #eef2f8;
  --vp-text: #172033;
  --vp-muted: #536074;
  --vp-line: #dce2ec;
  --vp-primary: #3157d5;
  --vp-primary-dark: #2342ad;
  --vp-accent: #0b8f87;
  --vp-radius: 18px;
  --vp-shadow: 0 18px 48px rgba(35,50,85,.1);
  --vp-container: 1180px;
  --vp-content: 780px;
  --vp-header-height: 76px;
  --vp-heading-font: Inter, ui-sans-serif, system-ui, sans-serif;
  --vp-glow: rgba(49,87,213,.2);
  --vp-accent-glow: rgba(11,143,135,.16);
  --vp-footer-bg: #0b1220;
  --vp-footer-surface: #131d30;
  --vp-footer-text: #dbe5f4;
  --vp-footer-muted: #b8c5d6;
}
* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--vp-text);
  background: var(--vp-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(circle at 8% 4%,var(--vp-glow),transparent 26rem),
    radial-gradient(circle at 92% 24%,var(--vp-accent-glow),transparent 24rem);
  background-attachment: fixed;
}
body.vp-dark {
  --vp-bg: #090d16;
  --vp-surface: #101724;
  --vp-surface-alt: #151e2e;
  --vp-text: #f4f7fb;
  --vp-muted: #b5c0d1;
  --vp-line: #293447;
  --vp-primary: #6d8cff;
  --vp-primary-dark: #8ca3ff;
  --vp-accent: #4fd8cf;
}
@media (prefers-color-scheme: dark) {
  body.vp-auto {
    --vp-bg: #090d16;
    --vp-surface: #101724;
    --vp-surface-alt: #151e2e;
    --vp-text: #f4f7fb;
    --vp-muted: #b5c0d1;
    --vp-line: #293447;
    --vp-primary: #6d8cff;
    --vp-primary-dark: #8ca3ff;
    --vp-accent: #4fd8cf;
  }
}
a { color: var(--vp-primary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--vp-primary-dark); }
img { max-width: 100%; height: auto; }
img[width][height] { height: auto; }
.alignleft { float: left; margin: .5em 1.5em 1em 0; }
.alignright { float: right; margin: .5em 0 1em 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text,.gallery-caption { margin-top: 8px; color: var(--vp-muted); font-size: 14px; text-align: center; }
.sticky { position: relative; }
.sticky::before { position: absolute; z-index: 2; top: 12px; left: 12px; padding: 4px 8px; content: "★"; color: #fff; background: var(--vp-primary); border-radius: 999px; font-size: 11px; }
.bypostauthor > .comment-body { border-color: color-mix(in srgb,var(--vp-primary) 35%,var(--vp-line)); }
button, input, textarea, select { font: inherit; }
button, [role="button"], input[type="submit"], input[type="button"] { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--vp-accent); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { top: 8px; left: 8px; z-index: 99999; width: auto; height: auto; padding: 12px 16px; clip: auto; color: #111; background: #fff; }
.vp-container { width: min(calc(100% - 40px),var(--vp-container)); margin-inline: auto; }
.vp-content-width { width: min(100%,var(--vp-content)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 1000; background: var(--vp-surface); background: color-mix(in srgb,var(--vp-surface) 82%,transparent); border-bottom: 1px solid color-mix(in srgb,var(--vp-line) 75%,transparent); backdrop-filter: blur(20px) saturate(150%); transition: box-shadow .25s ease,background-color .25s ease; }
.site-header.is-scrolled { box-shadow: 0 12px 35px rgba(23,32,51,.08); }
.header-inner { min-height: var(--vp-header-height); display: flex; align-items: center; gap: 28px; }
.announcement-bar { padding: 7px 0; color: #fff; background: var(--vp-primary); text-align: center; font-size: 13px; font-weight: 750; }
.announcement-bar a { color: inherit; }
.header-center .header-inner { flex-wrap: wrap; justify-content: center; padding-block: 13px; }
.header-center .site-branding { width: 100%; justify-content: center; margin: 0; text-align: center; }
.header-center .site-navigation { margin-inline: auto; }
.header-split .header-inner { min-height: 92px; }
.header-actions { display: flex; align-items: center; gap: 9px; }
.header-cta { padding: 8px 13px; color: #fff; background: var(--vp-primary); border-radius: 9px; font-size: 14px; font-weight: 850; text-decoration: none; }
.search-toggle, .color-mode-toggle { position: relative; width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; padding: 0; color: var(--vp-text); background: color-mix(in srgb,var(--vp-surface) 90%,transparent); border: 1px solid var(--vp-line); border-radius: 12px; box-shadow: 0 8px 20px rgba(23,32,51,.06); cursor: pointer; transition: color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.search-toggle:hover, .color-mode-toggle:hover { color: var(--vp-primary); background: color-mix(in srgb,var(--vp-primary) 9%,var(--vp-surface)); border-color: color-mix(in srgb,var(--vp-primary) 36%,var(--vp-line)); box-shadow: 0 10px 24px color-mix(in srgb,var(--vp-primary) 14%,transparent); transform: translateY(-1px); }
.search-toggle svg, .color-mode-toggle svg { width: 21px; height: 21px; display: block; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.color-mode-icon { position: absolute; display: grid; place-items: center; transition: opacity .22s ease,transform .28s ease; }
.color-mode-icon-moon { opacity: 0; transform: rotate(-40deg) scale(.55); }
.color-mode-toggle[aria-pressed="true"] { color: #f8c94c; background: #172238; border-color: #33415d; }
.color-mode-toggle[aria-pressed="true"] .color-mode-icon-sun { opacity: 0; transform: rotate(55deg) scale(.55); }
.color-mode-toggle[aria-pressed="true"] .color-mode-icon-moon { opacity: 1; transform: rotate(0) scale(1); }
.color-mode-toggle .moon-star { fill: currentColor; stroke: none; }
.search-panel[hidden] { display: none; }
.search-panel { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: start center; padding: 16vh 20px 20px; background: rgba(10,15,26,.78); backdrop-filter: blur(8px); }
.search-panel-inner { position: relative; width: min(100%,680px); padding: 30px; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow); }
.search-close { position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; color: var(--vp-text); background: var(--vp-surface-alt); border: 0; border-radius: 50%; cursor: pointer; }
.site-branding { min-width: 0; display: flex; align-items: center; gap: 12px; margin-right: auto; }
.custom-logo-link { display: flex; }
.custom-logo { width: auto; max-height: 48px; }
.adaptive-logo-link { position: relative; align-items: center; }
.adaptive-logo { display: block; object-fit: contain; }
.adaptive-logo-dark { display: none; }
body.vp-dark .adaptive-logo-light { display: none; }
body.vp-dark .adaptive-logo-dark { display: block; }
@media (prefers-color-scheme: dark) {
  body.vp-auto .adaptive-logo-light { display: none; }
  body.vp-auto .adaptive-logo-dark { display: block; }
}
.site-title { color: var(--vp-text); font-size: 21px; font-weight: 900; text-decoration: none; }
.site-description { margin: 0; color: var(--vp-muted); font-size: 12px; line-height: 1.4; }
.primary-menu, .primary-menu ul { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; align-items: center; gap: 5px; }
.primary-menu > li { position: relative; }
.primary-menu a { display: block; padding: 9px 12px; color: var(--vp-text); border-radius: 9px; font-size: 15px; font-weight: 750; text-decoration: none; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--vp-primary); background: var(--vp-surface-alt); background: color-mix(in srgb,var(--vp-primary) 9%,var(--vp-surface)); }
.primary-menu .sub-menu { position: absolute; top: 100%; left: 0; width: 230px; display: grid; visibility: hidden; padding: 8px; opacity: 0; transform: translateY(8px); background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 12px; box-shadow: var(--vp-shadow); transition: .18s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.menu-toggle { display: none; padding: 9px 12px; color: var(--vp-text); background: var(--vp-surface-alt); border: 1px solid var(--vp-line); border-radius: 9px; cursor: pointer; }
.hero { position: relative; isolation: isolate; overflow: hidden; padding: var(--vp-hero-spacing-top,clamp(46px,6vw,76px)) 0 var(--vp-hero-spacing-bottom,clamp(38px,5vw,62px)); text-align: center; background: radial-gradient(circle at 50% 0,color-mix(in srgb,var(--vp-primary) 20%,transparent),transparent 58%); }
.hero::before,.hero::after { position: absolute; z-index: -1; content: ""; pointer-events: none; filter: blur(4px); border-radius: 50%; }
.hero::before { width: clamp(260px,36vw,560px); aspect-ratio: 1; top: -45%; left: -12%; background: radial-gradient(circle,color-mix(in srgb,var(--vp-primary) 22%,transparent),transparent 67%); }
.hero::after { width: clamp(220px,30vw,460px); aspect-ratio: 1; right: -8%; bottom: -48%; background: radial-gradient(circle,color-mix(in srgb,var(--vp-accent) 20%,transparent),transparent 68%); }
.hero-inner { width: min(100%,900px); margin-inline: auto; }
.hero.has-media .hero-inner { width: min(calc(100% - 40px),var(--vp-container)); display: grid; grid-template-columns: minmax(0,var(--vp-hero-copy,1.1fr)) minmax(300px,var(--vp-hero-media,.9fr)); gap: clamp(32px,4.5vw,58px); align-items: center; text-align: left; }
.hero.has-media .hero-actions { justify-content: flex-start; }
.hero.has-media h1 { max-width: 760px; font-size: clamp(40px,5.2vw,62px); }
.hero.has-media .lead { max-width: 720px; font-size: clamp(17px,1.8vw,20px); }
.hero-media { position: relative; height: var(--vp-hero-height,320px); min-height: 0; overflow: hidden; background: var(--vp-surface-alt); border: 1px solid color-mix(in srgb,var(--vp-primary) 22%,var(--vp-line)); border-radius: calc(var(--vp-radius) + 12px); box-shadow: 0 26px 70px rgba(23,32,51,.18),0 0 0 8px color-mix(in srgb,var(--vp-surface) 55%,transparent); transform: translateZ(0); }
.hero-media img { width: 100%; height: 100%; display: block; object-fit: var(--vp-hero-fit,cover); object-position: var(--vp-hero-position,center); }
.eyebrow { width: fit-content; margin: 0 0 16px; padding: 6px 10px; color: var(--vp-text); color: color-mix(in srgb,var(--vp-accent) 72%,var(--vp-text)); background: color-mix(in srgb,var(--vp-accent) 10%,transparent); border: 1px solid color-mix(in srgb,var(--vp-accent) 18%,transparent); border-radius: 999px; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero:not(.has-media) .eyebrow { margin-inline: auto; }
h1,h2,h3,h4 { margin-top: 0; color: var(--vp-text); font-family: var(--vp-heading-font); font-weight: 900; line-height: 1.1; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(42px,7vw,74px); }
h2 { font-size: clamp(30px,4vw,46px); }
h3 { font-size: 23px; }
.lead { color: var(--vp-muted); font-size: clamp(18px,2.2vw,22px); }
.button, input[type="submit"] { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; color: #fff; background: var(--vp-primary); background: linear-gradient(135deg,var(--vp-primary),color-mix(in srgb,var(--vp-primary) 70%,var(--vp-accent))); border: 1px solid color-mix(in srgb,#fff 18%,transparent); border-radius: 12px; box-shadow: 0 10px 24px color-mix(in srgb,var(--vp-primary) 25%,transparent); font-weight: 850; text-decoration: none; cursor: pointer; transition: transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.button:hover, input[type="submit"]:hover { color: #fff; filter: saturate(112%) brightness(1.03); box-shadow: 0 14px 30px color-mix(in srgb,var(--vp-primary) 32%,transparent); transform: translateY(-2px); }
.button.secondary { color: var(--vp-text); background: var(--vp-surface); border-color: var(--vp-line); }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }
.section { padding: clamp(64px,8vw,105px) 0; }
.home .section { padding: clamp(42px,5vw,64px) 0; }
.home .hero + .section { padding: clamp(38px,4.5vw,58px) 0 clamp(24px,3vw,38px); }
.home .section + .section { padding: clamp(24px,3vw,38px) 0 clamp(50px,6vw,78px); }
.home .section-heading { margin-bottom: clamp(24px,3vw,32px); }
.home .feature-card { padding: clamp(22px,2.5vw,28px); }
.section-heading { width: min(100%,720px); margin-bottom: 38px; }
.section-heading p:last-child { color: var(--vp-muted); }
.cards-grid, .posts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.feature-card, .post-card { min-width: 0; overflow: hidden; background: var(--vp-surface); background: color-mix(in srgb,var(--vp-surface) 91%,transparent); border: 1px solid color-mix(in srgb,var(--vp-line) 78%,transparent); border-radius: calc(var(--vp-radius) + 2px); box-shadow: 0 16px 45px rgba(23,32,51,.08); backdrop-filter: blur(12px); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.feature-card:hover,.post-card:hover { border-color: color-mix(in srgb,var(--vp-primary) 32%,var(--vp-line)); box-shadow: 0 24px 65px rgba(23,32,51,.14); transform: translateY(-5px); }
.feature-card { padding: 28px; }
.feature-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 22px; color: #fff; background: linear-gradient(145deg,var(--vp-primary),var(--vp-accent)); border-radius: 15px; box-shadow: 0 10px 25px color-mix(in srgb,var(--vp-primary) 24%,transparent); font-weight: 900; }
.feature-card p, .post-card p { color: var(--vp-muted); }
.post-card { display: flex; flex-direction: column; }
.posts-grid.layout-list { grid-template-columns: 1fr; }
.posts-grid.layout-list .post-card { display: grid; grid-template-columns: minmax(220px,36%) 1fr; }
.posts-grid.layout-list .post-thumbnail { height: 100%; aspect-ratio: auto; }
.posts-grid.layout-featured .post-card:first-child { grid-column: 1/-1; display: grid; grid-template-columns: 1.1fr 1fr; }
.posts-grid.columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.post-thumbnail { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--vp-surface-alt); }
.post-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.75,.25,1); }
.post-card:hover .post-thumbnail img { transform: scale(1.045); }
.post-card-body { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.post-card h2, .post-card h3 { font-size: 23px; }
.post-card h2 a, .post-card h3 a { color: var(--vp-text); text-decoration: none; }
.post-meta { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-bottom: 12px; color: var(--vp-muted); font-size: 13px; }
.read-more { margin-top: auto; font-weight: 850; }
.content-area { padding: clamp(55px,8vw,90px) 0; }
.archive-header { width: min(100%,800px); margin-bottom: 44px; }
.content-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 46px; align-items: start; }
.content-layout.no-sidebar { grid-template-columns: 1fr; }
.entry-header { margin-bottom: 36px; }
.entry-header h1 { font-size: clamp(38px,6vw,64px); }
.entry-header.centered { width: min(100%,950px); margin-inline: auto; text-align: center; }
.entry-header.centered .post-meta { justify-content: center; }
.reading-progress { position: fixed; top: 0; left: 0; z-index: 3000; width: 0; height: 4px; background: var(--vp-accent); }
.article-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.article-tool { min-height: 42px; padding: 8px 13px; color: var(--vp-text); background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 9px; font-weight: 750; cursor: pointer; }
.table-of-contents { margin: 0 0 34px; padding: 22px; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 14px; }
.table-of-contents summary { cursor: pointer; font-weight: 900; }
.table-of-contents ol { margin-bottom: 0; }
.author-box { margin-top: 48px; padding: 26px; display: grid; grid-template-columns: 80px 1fr; gap: 20px; align-items: center; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 16px; }
.author-box img { border-radius: 50%; }
.author-box h2 { margin-bottom: 5px; font-size: 21px; }
.author-box p { margin: 0; color: var(--vp-muted); }
.related-posts { margin-top: 65px; }
.post-navigation { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--vp-line); }
.post-navigation-cards { margin-top: 42px; padding-top: 28px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; border-top: 1px solid var(--vp-line); }
.post-navigation-card { min-width: 0; display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 13px; align-items: center; padding: 14px; color: var(--vp-text); background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 13px; text-decoration: none; }
.post-navigation-card img { width: 68px; height: 68px; object-fit: cover; border-radius: 9px; }
.post-navigation-card small { display: block; margin-bottom: 3px; color: var(--vp-muted); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.post-navigation-card strong { display: block; font-size: 14px; line-height: 1.35; }
.post-navigation-card.next { text-align: right; }
.author-archive-header { margin-bottom: 60px; padding: clamp(28px,5vw,50px); display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 28px; align-items: center; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow); }
.author-archive-header img { border-radius: 50%; }
.author-archive-header h1 { margin-bottom: 8px; font-size: clamp(36px,6vw,58px); }
.author-archive-header .lead { margin: 0; }
.featured-image { margin: 0 0 42px; overflow: hidden; border-radius: var(--vp-radius); background: var(--vp-surface-alt); }
.featured-image.wide { width: min(1100px,calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.featured-image.cover { aspect-ratio: 16/7; }
.featured-image.cover img { width: 100%; height: 100%; object-fit: cover; }
.entry-content > * { max-width: 100%; }
.entry-content > .alignwide { width: min(1100px,calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content > .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content p, .entry-content li { color: var(--vp-text); color: color-mix(in srgb,var(--vp-text) 88%,var(--vp-muted)); }
.entry-content h2, .entry-content h3 { margin-top: 1.7em; }
.entry-content blockquote { margin: 34px 0; padding: 20px 25px; background: var(--vp-surface-alt); border-left: 4px solid var(--vp-primary); border-radius: 0 12px 12px 0; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 12px; border: 1px solid var(--vp-line); text-align: left; }
.entry-content pre { max-width: 100%; overflow: auto; padding: 20px; color: #e9edf5; background: #101522; border-radius: 12px; }
.entry-content iframe { max-width: 100%; }
.post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.post-tags a { padding: 5px 10px; color: var(--vp-text); background: var(--vp-surface-alt); border-radius: 999px; font-size: 13px; text-decoration: none; }
.breadcrumbs { margin-bottom: 24px; color: var(--vp-muted); font-size: 13px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 6px; color: var(--vp-muted); }
.breadcrumbs a { color: var(--vp-muted); text-decoration: none; }
.sidebar { position: sticky; top: 100px; }
.widget { margin-bottom: 22px; padding: 24px; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 15px; }
.widget-title { margin-bottom: 18px; font-size: 19px; line-height: 1.25; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li + li { margin-top: 10px; }
.widget a { color: var(--vp-text); text-decoration: none; }
.widget a:hover { color: var(--vp-primary); }
.widget_search .search-form, .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.widget_search .search-form label { flex: 1; }
.widget_search .search-form .button, .wp-block-search__button { min-height: 44px; padding: 8px 13px; }
.widget_categories li, .widget_archive li { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--vp-line); }
.widget_categories li:last-child, .widget_archive li:last-child { padding-bottom: 0; border: 0; }
.vp-widget-list { display: grid; gap: 15px; }
.vp-mini-post { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 13px; align-items: center; }
.vp-mini-post.no-image { grid-template-columns: 1fr; }
.vp-mini-post-image { display: block; aspect-ratio: 1; overflow: hidden; background: var(--vp-surface-alt); border-radius: 10px; }
.vp-mini-post-image img { width: 100%; height: 100%; object-fit: cover; }
.vp-mini-post-title { display: block; color: var(--vp-text); font-size: 14px; font-weight: 850; line-height: 1.35; }
.vp-mini-post time { display: block; margin-top: 4px; color: var(--vp-muted); font-size: 12px; }
.vp-about-widget { text-align: center; }
.vp-about-avatar { width: 92px; height: 92px; margin: 0 auto 15px; object-fit: cover; border: 4px solid var(--vp-surface-alt); border-radius: 50%; }
.vp-about-widget p { color: var(--vp-muted); font-size: 14px; }
.vp-widget-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 15px; color: #fff !important; background: var(--vp-primary); border-radius: 9px; font-size: 14px; font-weight: 850; }
.vp-category-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.vp-category-count { min-width: 28px; min-height: 28px; display: inline-grid; place-items: center; color: var(--vp-primary); background: var(--vp-surface-alt); border-radius: 999px; font-size: 12px; font-weight: 850; }
.vp-social-widget { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.vp-social-widget a { padding: 9px 10px; text-align: center; background: var(--vp-surface-alt); border-radius: 9px; font-size: 13px; font-weight: 800; }
.vp-cta-widget { overflow: hidden; color: #fff; background: linear-gradient(145deg,var(--vp-primary),var(--vp-primary-dark)); border: 0; }
.vp-cta-widget .widget-title, .vp-cta-widget p { color: #fff; }
.vp-cta-widget p { color: rgba(255,255,255,.86); font-size: 14px; }
.vp-cta-widget .vp-widget-button { color: var(--vp-primary) !important; background: #fff; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 42px; }
.page-numbers { min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; color: var(--vp-text); background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 9px; text-decoration: none; }
.page-numbers.current { color: #fff; background: var(--vp-primary); border-color: var(--vp-primary); }
.comments-area { margin-top: 65px; padding-top: 36px; border-top: 1px solid var(--vp-line); }
.comment-list { padding: 0; list-style: none; }
.comment-body { margin: 15px 0; padding: 22px; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 13px; }
.comment-list .children { list-style: none; }
.comment-author { display: flex; align-items: center; gap: 10px; }
.comment-author img { border-radius: 50%; }
.comment-metadata { margin: 6px 0 14px; color: var(--vp-muted); font-size: 12px; }
.comment-content p { color: var(--vp-text); }
.reply a { display: inline-flex; padding: 5px 9px; background: var(--vp-surface-alt); border-radius: 7px; font-size: 12px; font-weight: 800; text-decoration: none; }
.comment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.comment-form-comment,.comment-form-cookies-consent,.form-submit,.logged-in-as,.comment-notes { grid-column: 1/-1; }
.comment-form label { display: block; margin-bottom: 5px; font-weight: 750; }
.comment-form-cookies-consent { display: flex; gap: 9px; align-items: flex-start; }
.comment-form-cookies-consent input { margin-top: 7px; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select { width: 100%; padding: 12px 14px; color: var(--vp-text); background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: 10px; }
.site-footer { position: relative; overflow: hidden; padding: 72px 0 30px; background: var(--vp-footer-bg); border-top: 1px solid rgba(255,255,255,.08); }
.site-footer::before { position: absolute; width: 520px; aspect-ratio: 1; top: -360px; right: -180px; content: ""; pointer-events: none; background: radial-gradient(circle,rgba(49,87,213,.28),transparent 68%); }
.site-footer.site-footer { color: var(--vp-footer-text) !important; background: var(--vp-footer-bg) !important; }
.site-footer.site-footer .footer-brand-title,
.site-footer.site-footer .widget-title,
.site-footer.site-footer .footer-newsletter h2 { color: #fff !important; }
.site-footer.site-footer .footer-brand p,
.site-footer.site-footer .footer-newsletter span,
.site-footer.site-footer .footer-bottom { color: var(--vp-footer-muted) !important; }
.site-footer.site-footer .footer-menu a { color: var(--vp-footer-muted) !important; }
.site-footer.site-footer .footer-menu a:hover { color: #fff !important; }
.site-footer.site-footer .footer-socials a { color: var(--vp-footer-text) !important; background: rgba(255,255,255,.08) !important; }
.site-footer.site-footer .footer-newsletter { color: var(--vp-footer-text) !important; background: var(--vp-footer-surface) !important; }
.site-footer.site-footer .footer-newsletter .button { color: #fff !important; background: var(--vp-primary) !important; }
.site-footer.site-footer .footer-widget-area,
.site-footer.site-footer .footer-widget-area p,
.site-footer.site-footer .footer-widget-area li { color: var(--vp-footer-muted) !important; }
.site-footer.site-footer .footer-widget-area a { color: #aabfff !important; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 38px; }
.footer-grid.footer-columns-1 { grid-template-columns: 1fr; }
.footer-grid.footer-columns-2 { grid-template-columns: repeat(auto-fit,minmax(min(100%,360px),1fr)); }
.footer-grid.footer-columns-3 { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.footer-brand-title { display: inline-block; color: var(--vp-text); font-family: var(--vp-heading-font); font-size: 19px; font-weight: 900; text-decoration: none; }
.footer-logo { width: fit-content; margin-bottom: 16px; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
.footer-logo .custom-logo-link { display: inline-flex; }
.footer-logo .custom-logo { width: auto; max-width: min(100%,220px); max-height: 58px; object-fit: contain; }
.footer-brand p { max-width: 360px; color: var(--vp-muted); }
.footer-navigation { min-width: 0; }
.footer-widget-area .widget { margin: 0; padding: 0; border: 0; box-shadow: none; }
.footer-brand { grid-column: span 1; }
.footer-newsletter { position: relative; margin-bottom: 46px; padding: clamp(22px,3vw,32px); display: flex; align-items: center; justify-content: space-between; gap: 25px; background: var(--vp-footer-surface); border: 1px solid rgba(255,255,255,.09); border-radius: 20px; box-shadow: 0 20px 55px rgba(0,0,0,.18); }
.footer-newsletter h2 { margin-bottom: 4px; font-size: 24px; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.footer-socials a { padding: 7px 11px; color: var(--vp-footer-text); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: 999px; font-size: 13px; text-decoration: none; }
.footer-menu { margin: 0; padding: 0; list-style: none; }
.footer-menu li + li { margin-top: 8px; }
.footer-menu a { color: var(--vp-muted); }
.footer-bottom { margin-top: 48px; padding-top: 24px; display: flex; justify-content: space-between; gap: 20px; color: var(--vp-footer-muted); border-top: 1px solid rgba(255,255,255,.1); font-size: 14px; }
.back-to-top { position: fixed; right: 20px; bottom: 20px; z-index: 900; width: 46px; height: 46px; display: grid; place-items: center; visibility: hidden; opacity: 0; color: #fff; background: var(--vp-primary); border: 0; border-radius: 50%; box-shadow: var(--vp-shadow); cursor: pointer; transition: .2s; }
.back-to-top.is-visible { visibility: visible; opacity: 1; }
.whatsapp-button { position: fixed; bottom: 20px; z-index: 910; min-height: 54px; padding: 0 20px 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; color: #fff; background: #128c4a; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; box-shadow: 0 16px 36px rgba(9,91,48,.3); font-weight: 800; line-height: 1; text-decoration: none; transition: transform .2s ease,background-color .2s ease,box-shadow .2s ease; }
.whatsapp-button.is-left { left: 20px; }
.whatsapp-button.is-right { right: 20px; bottom: 78px; }
.whatsapp-button:hover { color: #fff; background: #0d7b3f; box-shadow: 0 20px 42px rgba(9,91,48,.4); transform: translateY(-3px); }
.whatsapp-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.whatsapp-button svg { flex: 0 0 auto; }
.error-404 { text-align: center; }
.page-template-template-full-width .vp-page-shell { width: min(calc(100% - 40px),var(--vp-container)); margin-inline: auto; }
.page-template-template-canvas .site-header,.page-template-template-canvas .site-footer { display: none; }
.page-template-template-canvas main { min-height: 100vh; }
.page-template-template-landing .site-footer { padding-top: 32px; }
.entry-layout-wide { width: min(calc(100vw - 40px),var(--vp-container)); max-width: none; }
.entry-layout-narrow { width: min(100%,680px); }
.is-style-vertice-card { padding: clamp(20px,4vw,38px); background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow); }
.is-style-vertice-rounded img { border-radius: var(--vp-radius); }
.is-style-vertice-highlight { padding: 24px 28px; background: var(--vp-surface-alt); border-left: 4px solid var(--vp-accent); }
.wp-block-button.is-style-vertice-soft .wp-block-button__link { color: var(--vp-primary); background: color-mix(in srgb,var(--vp-primary) 12%,var(--vp-surface)); }
body.menu-open, body.search-open { overflow: hidden; }

@media (max-width: 640px) {
  .whatsapp-button { width: 54px; min-width: 54px; padding: 0; }
  .whatsapp-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
}

/* Superfícies modernas */
.widget,.author-box,.comment-body,.post-navigation-card,.author-archive-header,.is-style-vertice-card {
  background: color-mix(in srgb,var(--vp-surface) 92%,transparent);
  border-color: color-mix(in srgb,var(--vp-line) 78%,transparent);
  box-shadow: 0 16px 45px rgba(23,32,51,.07);
  backdrop-filter: blur(12px);
}
.post-navigation-card:hover { border-color: color-mix(in srgb,var(--vp-primary) 30%,var(--vp-line)); transform: translateY(-3px); }
.widget,.post-navigation-card { transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.widget:hover { border-color: color-mix(in srgb,var(--vp-primary) 22%,var(--vp-line)); box-shadow: 0 20px 52px rgba(23,32,51,.1); }
.read-more { text-underline-offset: .22em; }

/* WooCommerce opcional */
.woocommerce .products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 18px; background: var(--vp-surface); border: 1px solid var(--vp-line); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow); }
.woocommerce ul.products li.product a img { border-radius: calc(var(--vp-radius) - 6px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--vp-text); font-size: 19px; }
.woocommerce .price { color: var(--vp-accent) !important; font-weight: 850; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { color: #fff !important; background: var(--vp-primary) !important; border-radius: 9px !important; }
.woocommerce div.product { color: var(--vp-text); }
.woocommerce-message,.woocommerce-info { background: var(--vp-surface); border-top-color: var(--vp-primary); }

@media (max-width: 920px) {
  body { background-attachment: scroll; }
  .menu-toggle { display: block; }
  .site-navigation { position: absolute; top: 76px; inset-inline: 0; display: none; padding: 16px 20px 22px; background: var(--vp-surface); border-bottom: 1px solid var(--vp-line); }
  .site-navigation.is-open { display: block; }
  .primary-menu { align-items: stretch; flex-direction: column; }
  .primary-menu .sub-menu { position: static; width: 100%; display: none; visibility: visible; padding-left: 18px; opacity: 1; transform: none; box-shadow: none; }
  .primary-menu .submenu-open > .sub-menu { display: grid; }
  .cards-grid, .posts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero.has-media .hero-inner { grid-template-columns: 1fr; text-align: center; }
  .hero.has-media .hero-actions { justify-content: center; }
  .hero.has-media .eyebrow { margin-inline: auto; }
  .hero.has-media .lead { margin-inline: auto; }
  .hero-media { width: min(100%,620px); height: clamp(230px,55vw,var(--vp-hero-height,320px)); min-height: 0; margin-inline: auto; }
  .woocommerce .products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .posts-grid.layout-featured .post-card:first-child { display: flex; }
  .content-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .sidebar .widget { margin: 0; }
}
@media (max-width: 620px) {
  body { font-size: 16px; }
  .vp-container { width: min(calc(100% - 28px),var(--vp-container)); }
  .site-description { display: none; }
  .header-inner { gap: 8px; }
  .site-branding { flex: 1 1 auto; margin-right: 0; }
  .adaptive-logo { max-width: 155px; }
  .header-actions { gap: 6px; }
  .search-toggle, .color-mode-toggle { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }
  .menu-toggle { padding: 8px 10px; }
  .cards-grid, .posts-grid, .footer-grid { grid-template-columns: 1fr; }
  .posts-grid.layout-list .post-card { display: flex; }
  .footer-newsletter { align-items: stretch; flex-direction: column; }
  .author-box { grid-template-columns: 1fr; }
  .sidebar { grid-template-columns: 1fr; }
  .post-navigation-cards,.comment-form { grid-template-columns: 1fr; }
  .post-navigation-card.next { text-align: left; }
  .author-archive-header { grid-template-columns: 1fr; text-align: center; }
  .author-archive-header img { margin-inline: auto; }
  .woocommerce .products { grid-template-columns: 1fr; }
  .featured-image.wide { width: calc(100vw - 16px); }
  .hero-actions, .footer-bottom { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .entry-content > .alignwide, .entry-content > .alignfull { width: calc(100vw - 16px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .post-card:hover .post-thumbnail img { transform: none; }
}
@media (hover: none) {
  .feature-card:hover,.post-card:hover,.widget:hover,.post-navigation-card:hover,.button:hover { transform: none; }
}
@media (forced-colors: active) {
  :focus-visible { outline: 3px solid CanvasText; }
  .button, .header-cta, .vp-widget-button, .page-numbers.current { border: 2px solid ButtonText; }
}
@media print {
  .site-header, .site-footer, .sidebar, .post-share, .reading-progress, .back-to-top,
  .post-navigation, .comments-area, .breadcrumbs { display: none !important; }
  body { color: #000; background: #fff; font-size: 12pt; }
  .vp-container, .vp-content-width, .content-layout { width: 100%; max-width: none; display: block; }
  a { color: #000; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}
