/*
Theme Name: Vinny AI Block
Theme URI: https://www.vinnyvidivici.com/
Author: imFORZA
Description: A lightweight block theme for Vinny Vidi Vici, built for AI Agent Access editing.
Version: 1.0.0
Requires at least: 7.0
Requires PHP: 8.0
Text Domain: vinny-ai-block
*/

:root {
  --vinny-shadow: 0 24px 80px rgba(15, 23, 42, 0.08);
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.wp-site-blocks {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wp-site-blocks > main {
  flex: 1;
}

a {
  text-underline-offset: 0.18em;
  transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.vinny-site-header {
  backdrop-filter: blur(14px);
}

.vinny-card {
  box-shadow: var(--vinny-shadow);
}

.vinny-post-list .wp-block-post {
  border-bottom: 1px solid var(--wp--preset--color--contrast-soft);
  padding-bottom: var(--wp--preset--spacing--60);
}

.vinny-post-list .wp-block-post:last-child {
  border-bottom: 0;
}

@media (max-width: 720px) {
  .vinny-header-row {
    align-items: flex-start !important;
    gap: var(--wp--preset--spacing--40) !important;
  }
}

.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
  padding-left: clamp(1.25rem, 4vw, 2.5rem);
  padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

.wp-site-blocks {
  overflow-x: hidden;
}

@media (max-width: 720px) {
  .has-xx-large-font-size {
    font-size: clamp(2.45rem, 11vw, 3.4rem) !important;
    line-height: 1.08;
  }

  .has-large-font-size {
    font-size: clamp(1.15rem, 4.8vw, 1.45rem) !important;
  }
}

/* Footer alignment and mobile nav refinements. */
footer.wp-block-group,
footer.wp-block-group .wp-block-columns,
footer.wp-block-group .vinny-copyright {
  text-align: left;
}

footer.wp-block-group .wp-block-navigation {
  align-items: flex-start;
}

footer.wp-block-group .wp-block-navigation .wp-block-navigation__container {
  align-items: flex-start;
  gap: 0.55rem;
}

footer.wp-block-group .vinny-copyright {
  margin-top: var(--wp--preset--spacing--40);
}

.wp-block-navigation__responsive-container.is-menu-open {
  inset: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  min-height: 100vh !important;
  background: var(--wp--preset--color--base) !important;
  color: var(--wp--preset--color--contrast) !important;
  padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50) !important;
  z-index: 100000 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding-top: var(--wp--preset--spacing--70) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: flex-start !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: var(--wp--preset--color--contrast) !important;
  font-size: clamp(1.45rem, 7vw, 2.2rem) !important;
  font-weight: 700;
  line-height: 1.15;
}

.wp-block-navigation__responsive-container-close {
  color: var(--wp--preset--color--contrast) !important;
  top: var(--wp--preset--spacing--40) !important;
  right: var(--wp--preset--spacing--40) !important;
}

@media (max-width: 720px) {
  footer.wp-block-group .wp-block-columns {
    gap: var(--wp--preset--spacing--50);
  }
}
