/* =========================================================
   WordPress + Elementor specifics. Uses tokens only.
   ========================================================= */

/* ---------- Elementor: let theme sections control spacing ---------- */
.elementor-section.elementor-section-full_width > .elementor-container { max-width: none; }
.elementor-widget[class*="elementor-widget-vn-"] { margin-block-end: 0 !important; }
.elementor .section h2, .elementor .section h3 { font-family: var(--font-display); }
.elementor-editor-active .reveal, .elementor-editor-preview .reveal { opacity: 1; transform: none; }
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-vn-"]),
.e-con:has(> .elementor-widget[class*="elementor-widget-vn-"]) { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; --content-width: 100%; }

/* ---------- Header: WP admin bar + custom logo ---------- */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 3.25rem; width: auto; }
.site-footer .custom-logo-link { margin-bottom: var(--space-4); background: var(--color-surface); padding: var(--space-2); border-radius: var(--radius-sm); }

/* ---------- Menus from wp_nav_menu ---------- */
.nav__links .current-menu-item > a,
.nav__links .current-page-ancestor > a,
.nav__links .current_page_parent > a { color: var(--color-primary); font-weight: var(--weight-bold); box-shadow: inset 0 -2px 0 var(--brand-500); }
@media (max-width: 1040px) {
  .nav__links .current-menu-item > a,
  .nav__links .current-page-ancestor > a,
  .nav__links .current_page_parent > a { box-shadow: none; }
}
.site-footer .menu { list-style: none; display: grid; gap: var(--space-2); margin: 0; padding: 0; }

/* ---------- Split intro ---------- */
.split__intro h2 { font-size: var(--text-3xl); }
.split__text { margin-top: var(--space-4); color: var(--color-text-muted); font-size: var(--text-lg); }
.split__text > * + * { margin-top: var(--space-3); }
.section--dark .split__text { color: var(--brand-100); }

.section--tight { padding-block: var(--space-7) 0; }
.section--tight:last-of-type { padding-bottom: var(--section-y); }
.section--tight .section-head { margin-bottom: var(--space-5); }
.section--tight .section-head h2 { font-size: var(--text-2xl); }

.quote__photo { width: 6rem; height: 6rem; margin-inline: auto; border-radius: 50%; object-fit: cover; border: 3px solid var(--gold-300); }

/* ---------- Blog ---------- */
.entry-meta { margin-top: var(--space-3); color: var(--color-text-muted); font-size: var(--text-sm); }
.entry-thumb { margin: 0 0 var(--space-6); border-radius: var(--radius-lg); overflow: hidden; }
.entry-thumb img { width: 100%; height: auto; }
.post-card { gap: var(--space-2); }
.post-card__thumb { display: block; margin: calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-3); aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: var(--color-surface-alt); }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card__date { font-size: var(--text-xs); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-accent); }
.post-card__title { font-size: var(--text-xl); }
.post-nav { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--color-border); font-weight: var(--weight-bold); }
.pagination { margin-top: var(--space-7); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pagination .page-numbers { display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; padding-inline: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-surface); color: var(--color-text); text-decoration: none; }
.pagination .page-numbers.current { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-text-inverse); }

/* ---------- Classic editor content ---------- */
.prose img { height: auto; border-radius: var(--radius-md); }
.prose blockquote { margin: 0; padding: var(--space-4) var(--space-5); border-left: 4px solid var(--color-accent); background: var(--gold-50); border-radius: var(--radius-sm); }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.prose th, .prose td { padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border); text-align: left; }
.prose figure { margin: 0; }
.wp-caption-text, .prose figcaption { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-2); }
.alignleft { float: left; margin: 0 var(--space-5) var(--space-4) 0; }
.alignright { float: right; margin: 0 0 var(--space-4) var(--space-5); }
.aligncenter { margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Form plugins inside .form ---------- */
.form .wpcf7 input:not([type="submit"]), .form .wpcf7 textarea, .form .wpcf7 select {
  width: 100%; min-height: 3rem; padding: var(--space-3) var(--space-4); font: inherit;
  background: var(--color-bg); border: 1.5px solid var(--color-border-strong); border-radius: var(--radius-sm);
}
.form .wpcf7 input[type="submit"] {
  min-height: 3rem; padding: var(--space-3) var(--space-5); border: 0; border-radius: var(--radius-full);
  background: var(--color-primary); color: var(--color-text-inverse); font: var(--weight-bold) var(--text-md)/1 var(--font-body); cursor: pointer;
}
