/*
Theme Name: H25
Theme URI: https://iamarino.com/h25
Author: Henrique Iamarino
Author URI: https://iamarino.com
Description: A personal site crafted by a professional theme creator at Automattic. If you’re a creative person, think about using this theme to blog more, share your process and passions, and make sharing a regular part of your routine.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: h25
Tags: one-column, two-columns, featured-images, full-site-editing, block-patterns, rtl-language-support, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, blog

/* ==============================================================
   TYPOGRAPHY
============================================================== */

h1, h2, h3, h4, h5, h6,
blockquote,
caption,
figcaption {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* ==============================================================
   LINKS
   Ref: https://github.com/WordPress/gutenberg/issues/42319
============================================================== */

a {
  text-decoration-thickness: 0.025em !important;
  text-underline-offset: 0.15em;
}

/* ==============================================================
   IMAGE CAPTIONS (legacy classic-content only)
   Modern captions are sized by theme.json elements.caption.
============================================================== */

.wp-caption-text,
.blocks-gallery-caption {
  font-size: var(--wp--preset--font-size--x-small);
}

/* ==============================================================
   LAYOUT UTILITIES
============================================================== */

/* Stretch column vertically */
.col-stretch {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* Equal height for sibling columns */
.columns-equal {
  align-items: stretch;
}

/* Grid fill column */
.columns-equal > .wp-block-column.col-grid-fill {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 0;
}

/* Stretch Query Loop area */
.columns-equal > .wp-block-column.col-grid-fill > .ql-stretch {
  grid-row: 2;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Allow posts area to grow */
.columns-equal > .wp-block-column.col-grid-fill > .ql-stretch > .wp-block-post-template {
  flex: 1 1 auto;
  min-height: 0;
}

/* Keep pagination anchored */
.columns-equal > .wp-block-column.col-grid-fill > .ql-stretch .wp-block-query-pagination {
  margin-top: auto;
}

/* ==============================================================
   UTILITIES
============================================================== */

/* Remove underline from links inside containers */
.no-underline a {
  text-decoration: none;
}

/* Layering helper */
.is-overlapping {
  position: relative;
  z-index: 1;
}

/* Stack Card: clip featured image to rounded wrapper */
.stack-card {
	overflow: hidden;
}

/* ==============================================================
   HOVER INVERT UTILITY (TEXT/BLOCKS)
============================================================== */

.hover-invert {
  background-color: var(--wp--preset--color--base) !important;
  color: var(--wp--preset--color--primary) !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.hover-invert:hover {
  background-color: var(--wp--preset--color--primary) !important;
  color: var(--wp--preset--color--base) !important;
}

.hover-invert :where(a, p, h1, h2, h3, h4, h5, h6) {
  color: inherit !important;
}

.hover-invert .wp-block-button__link {
  color: inherit !important;
  background: transparent !important;
  border-color: currentColor !important;
}

/* ==============================================================
   CUSTOM SELECTION
============================================================== */

::-moz-selection {
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--tertiary);
}

::selection {
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--tertiary);
}

/* ==============================================================
   MOTION SAFETY
   Stays in style.css: at-rule wrapping per-block rules isn't
   supported in theme.json block css. !important guarantees it
   beats the base transitions now emitted by Global Styles,
   regardless of stylesheet order.
============================================================== */

@media (prefers-reduced-motion: reduce) {
  .wp-block-post-featured-image img,
  .wp-block-cover .wp-block-cover__image-background {
    transition: filter 0.2s ease !important;
    transform: none !important;
  }
}
