/*
Theme Name: VitraPath
Template: twentytwentyfive
Description: Child theme for VitraPath Press. Colors, type and spacing live in theme.json; this file only holds the few layout styles blocks cannot express.
Version: 1.4.0
Text Domain: vitrapath
*/

/* Fanned stack of book covers (hero). Children are groups or images with class vp-book. */
.vp-fan { position: relative; min-height: 470px; }
.vp-fan > .vp-book { position: absolute; width: 56%; aspect-ratio: 7 / 10; margin: 0 !important; border-radius: 3px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(29, 40, 38, .10), 0 22px 44px -20px rgba(29, 40, 38, .45); }
.vp-fan > .vp-book img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vp-fan > .vp-book:nth-child(1) { left: 0; top: 54px; transform: rotate(-6deg); z-index: 1; }
.vp-fan > .vp-book:nth-child(2) { left: 22%; top: 0; z-index: 3; }
.vp-fan > .vp-book:nth-child(3) { left: 44%; top: 62px; transform: rotate(5deg); z-index: 2; }
.vp-book.wp-block-group { display: flex; flex-direction: column; justify-content: space-between; }
@media (max-width: 781px) {
  .vp-fan { min-height: 330px; max-width: 420px; margin-inline: auto; }
  .vp-fan > .vp-book { width: 52%; }
}
@media (prefers-reduced-motion: no-preference) {
  .vp-fan > .vp-book { transition: transform .3s ease; }
}
.wp-element-button:focus-visible, a:focus-visible { outline: 2px solid var(--wp--preset--color--accent-1); outline-offset: 3px; }
/* Single cover on a book page, and cover thumbnails in the collection grid */
.vp-cover-single img, .vp-card-cover img { border-radius: 3px; box-shadow: 0 1px 2px rgba(29, 40, 38, .10), 0 18px 36px -18px rgba(29, 40, 38, .40); height: auto; }
.vp-cover-single { max-width: 420px; }
.vp-card-cover { margin-bottom: 0.25rem !important; }
.vp-card-cover img { aspect-ratio: 5 / 7; object-fit: contain; object-position: center bottom; width: 100%; box-shadow: none; border-radius: 0; filter: drop-shadow(0 12px 14px rgba(29, 40, 38, .22)); }
.vp-card h3 a { text-decoration: none; color: inherit; }
.vp-card h3 a:hover { text-decoration: underline; }
.vp-group-list a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (max-width: 781px) { .vp-cover-single { max-width: 300px; margin-inline: auto; } }
.vp-fan > .vp-book a { display: block; height: 100%; }

/* Full-bleed sections meet the footer with no gap */
.wp-site-blocks > footer, .wp-site-blocks > main + * { margin-block-start: 0; }
main > .entry-content > .alignfull:last-child, main .wp-block-post-content > .alignfull:last-child { margin-block-end: 0; }

/* Quiet tables */
.wp-block-table table { border-collapse: collapse; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); padding: .8em .75em .8em 0; text-align: left; }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--contrast); }
.wp-block-table thead th { font-weight: 600; }
