/*
Theme Name:   LumiVera (Twenty Twenty-Five Child)
Theme URI:    https://lumivera.com
Description:  Custom child theme of Twenty Twenty-Five for LumiVera, a midlife hormone therapy & wellness telehealth brand. Built for full site editing with theme.json design tokens and Gutenberg block-based templates.
Author:       Bryan
Template:     twentytwentyfive
Version:      1.0.0
Requires PHP: 7.4
Text Domain:  lumivera
*/

/*
  This file is intentionally minimal. Nearly all visual design (colors,
  typography, spacing) is controlled via theme.json so it works natively
  with the WordPress Site Editor, global styles UI, and block style
  variations. This stylesheet only carries:
    1) The required theme header comment above (mandatory for WP).
    2) Small CSS hooks/animations that theme.json cannot express
       (the symptom ticker marquee and animated stat counters).
  See assets/css/lumivera.css for the actual custom styles, which is
  enqueued separately in functions.php so it can be cached/versioned
  independently of this header file.
*/

:root :where(.is-layout-flow) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

h1 em, h2 em, h3 em {
  color: var(--wp--preset--color--highlight);
}

h1.has-base-color em, h2.has-base-color em, h3.has-base-color em {
  color: var(--wp--preset--color--lime);
}

.entry-content {
	margin-top: 0;
}

.footer-links {
  max-width: var(--wp--style--global--content-size) !important;
}

.footer-links {
  list-style: none;
}

/* Legal links (Privacy Policy, Terms, …): one centered, wrapping row */
footer .footer-links.footer-links--legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

footer .footer-links.footer-links--legal li {
  margin: 0;
  flex: 0 0 auto;
}

.footer-links li a {
    text-decoration: none;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--wide-size);
}

.taxonomy-post_tag > a {
    border: none;
    background-color: var(--wp--preset--color--white-20);
    font-style: italic;
    pointer-events: none;
}

.wp-block-post-featured-image {
	  aspect-ratio: 16 / 9;
	  overflow: hidden;
}

.wp-block-post-featured-image img {
	  width: 100%;
	  height: 100%;
	  aspect-ratio: 16 / 9;
	  object-fit: cover;
	  object-position: center;
}

.wp-block-post > .wp-block-group {
	  height: 100%;
	  box-sizing: border-box;
}

.wp-block-post > .wp-block-group > .wp-block-post-terms {
	  flex-grow: 0;
	  flex-shrink: 0;
}

.wp-block-post > .wp-block-group > .wp-block-group {
	  flex-grow: 1;
}

.post-tags > a {
    background-color: var(--wp--preset--color--highlight);
    color: var(--wp--preset--color--white);
}

.wp-block-query-pagination {
	border-top: 1px solid var(--wp--preset--color--highlight-fade);
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1rem;
  margin-top: 30px;
	padding-top: 30px;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers {
  display: flex;
  gap: 1rem;
  grid-column: 2 / 3;
	justify-self: center;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers {
  align-items: center;
  border: 1px solid var(--wp--preset--color--highlight);
  border-radius: 50%;
  display: flex;
  height: 40px;
  justify-content: center;
  text-decoration: none;
  width: 40px;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers.current {
  background-color: var(--wp--preset--color--highlight);
  color: var(--wp--preset--color--white);
}

.wp-block-query-pagination .wp-block-query-pagination-previous {
  background-color: var(--wp--preset--color--lime);
  grid-column: 1 / 2;
	justify-self: left;
  white-space: nowrap;
}

.wp-block-query-pagination .wp-block-query-pagination-next {
  background-color: var(--wp--preset--color--lime);
  grid-column: 3 / 4;
	justify-self: right;
  white-space: nowrap;
}

@media (max-width: 781px) {
  .single-post main {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  .single-post .blog-content {
    padding-top: 0 !important;
  }

  .single-post .blog-content > figure {
    border-radius: 0 !important;
  }

  .single-post .blog-content > figure img {
    border-radius: 0 !important;
  }

  .blog-content > figure + .wp-block-group {
    border-radius: 0 !important;
    margin-top: 0 !important;
    padding:0 !important;
  }

  .single-post .blog-content > figure + .wp-block-group > .wp-block-group {
    box-shadow: none !important;
    padding: 0 20px !important;
  }

  .single-post .post-tags {
    background-color: var(--wp--preset--color--highlight);
    margin: 0 -20px;
    padding: 0 1rem;
    width: calc(100% + 40px);
  }

  .single-post .post-tags > a {
    background-color: var(--wp--preset--color--white-20);
    color: var(--wp--preset--color--white);
  }
}
/* ---------------------------------------------------------------------
   Footer — desktop layout per Figma (LumiVera MVP, node 43:630)
   Brand/tagline/badge left, Products right, hairline above, centered
   legal row, hairline, centered copyright.
--------------------------------------------------------------------- */
.lv-footer .lv-footer__columns {
  border-top: 1px solid #D7D7D7;
  padding-top: 4rem;
  margin-bottom: 5rem;
}

.lv-footer .wp-block-site-logo {
  margin-bottom: 2.5rem;
}

.lv-footer .lv-footer__columns .wp-block-column:first-child > p {
  max-width: 409px;
  margin: 0 0 2.5rem;
  padding: 0 !important;
  line-height: 1.4;
}

.lv-footer .lv-footer__products {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.lv-footer .lv-footer__products h5 {
  margin: 0;
  font-family: var(--wp--preset--font-family--body);
  font-size: 2rem !important;
  font-weight: 600;
  letter-spacing: -0.16px;
  line-height: 1.4;
  text-transform: capitalize;
}

.lv-footer .lv-footer__products .footer-links {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0;
}

.lv-footer .lv-footer__products .footer-links li {
  margin: 0;
}

.lv-footer .lv-footer__products .footer-links a {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.1px;
  line-height: 1.4;
  text-transform: capitalize;
}

.lv-footer .wp-block-separator {
  max-width: 1200px;
  border: 0;
  height: 1px;
  background-color: #D7D7D7 !important;
  color: #D7D7D7 !important;
  margin-block: 3rem;
}

.lv-footer > p:last-child {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
}

@media (max-width: 781px) {
  .lv-footer .lv-footer__columns {
    margin-bottom: 2.5rem;
  }
}

/* Blog single: the title card overlaps the bottom of the featured image only
   when there is one (the image block renders nothing when it is missing). */
.blog-content .blog-card-overlap {
  position: relative;
  z-index: 99;
}

.blog-content .wp-block-post-featured-image + .blog-card-overlap {
  margin-top: -120px;
}

/* Blog listing: linked card titles keep the plain title look. */
.wp-block-query .wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}

.wp-block-query .wp-block-post-title a:hover {
  text-decoration: underline;
}

.wp-block-query .wp-block-post-featured-image a {
  display: block;
}
