/* bullmania.co.uk: playful, rounded, blue-and-orange. Tokens (--pk-*) come from site.toml. */
:root { --bm-shadow: 0 12px 30px -12px color-mix(in srgb, var(--pk-accent) 45%, transparent); }
body { font-weight: 500; }
h1, h2, h3 { font-weight: 700; letter-spacing: 0; }
h1 { font-size: clamp(2.2rem, 4.5vw + .5rem, 3.6rem); }
.pk-lead { font-weight: 500; }
.pk-btn { border-radius: 999px; font-family: var(--pk-font-heading); font-weight: 600; }
.pk-btn--primary { background: var(--pk-accent-2); border-color: var(--pk-accent-2); color: #1a1208; }
.pk-btn--primary:hover { color: #1a1208; box-shadow: 0 8px 20px -8px var(--pk-accent-2); }
.pk-badge { border-radius: 999px; font-family: var(--pk-font-heading); font-weight: 600; letter-spacing: .01em; }
.pk-card { border-radius: var(--pk-radius); box-shadow: 0 2px 0 var(--pk-border); }
.pk-avatar { background: var(--pk-accent); color: var(--pk-accent-fg); font-family: var(--pk-font-heading); }
.pk-avatar--img { border: 2px solid var(--pk-surface); }

/* header: the old site's navy bar, rounder */
.pk-header { border-bottom: 0; box-shadow: 0 2px 0 color-mix(in srgb, #000 15%, transparent); }
.pk-brand { font-size: 1.5rem; letter-spacing: -.01em; }
.pk-brand__logo { height: 2.6rem; transition: transform .25s; }
.pk-brand:hover .pk-brand__logo { transform: rotate(-8deg) scale(1.06); }
.pk-header .pk-nav__link { border-radius: 999px; font-family: var(--pk-font-heading); font-weight: 600; }
.pk-header .pk-nav__link:hover, .pk-header .pk-nav__link.is-active { background: color-mix(in srgb, #fff 16%, transparent); color: #fff; }
.pk-header .pk-theme-toggle, .pk-header .pk-nav-toggle { border-color: color-mix(in srgb, #fff 35%, transparent); color: var(--pk-menu-fg); }
.pk-header .pk-btn--primary { padding-block: .45rem; }

/* hero */
.bm-hero { position: relative; margin-top: -2rem; padding-block: clamp(3rem, 8vw, 5.5rem) 5rem; color: #fff; overflow: hidden;
  background: radial-gradient(60rem 30rem at 80% -20%, color-mix(in srgb, var(--pk-sky) 70%, #fff 0%) 0%, transparent 60%), linear-gradient(160deg, var(--pk-menu-bg) 0%, #2350c8 55%, #3d6de6 100%); }
.bm-hero::before { content: ""; position: absolute; inset: 0; opacity: .12; pointer-events: none;
  background-image: radial-gradient(circle at 20% 30%, #fff 0 5px, transparent 6px), radial-gradient(circle at 26% 24%, #fff 0 3px, transparent 4px), radial-gradient(circle at 15% 25%, #fff 0 3px, transparent 4px), radial-gradient(circle at 21% 21%, #fff 0 2.5px, transparent 3.5px);
  background-size: 180px 180px; }
.bm-hero__grid { position: relative; display: grid; gap: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); align-items: center; }
.bm-hero .pk-eyebrow { color: var(--pk-accent-2); }
.bm-hero h1 { max-width: 16ch; text-wrap: balance; }
.bm-hero .pk-lead { color: color-mix(in srgb, #fff 82%, transparent); }
.bm-hero .pk-btn:not(.pk-btn--primary) { background: color-mix(in srgb, #fff 14%, transparent); color: #fff; border-color: color-mix(in srgb, #fff 40%, transparent); }
.bm-pledge { margin-top: 1.75rem; font-size: .95rem; color: color-mix(in srgb, #fff 85%, transparent); background: color-mix(in srgb, #000 18%, transparent); border-left: 4px solid var(--pk-accent-2); padding: .6rem .9rem; border-radius: 0 12px 12px 0; max-width: 34rem; }
.bm-pledge strong { color: var(--pk-accent-2); font-family: var(--pk-font-heading); }
.bm-hero__pile { position: relative; min-height: 22rem; display: grid; place-items: center; }
.bm-polaroid { position: absolute; display: block; padding: .6rem .6rem 2.1rem; background: #fff; color: #14213d; text-decoration: none; border-radius: 6px; box-shadow: 0 20px 40px -20px #000, 0 2px 6px rgba(0,0,0,.2); width: min(15rem, 46%); transform: rotate(var(--r, 0)) translate(var(--x, 0), var(--y, 0)); transition: transform .3s; font-family: var(--pk-font-heading); font-weight: 600; text-align: center; }
.bm-polaroid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 3px; }
.bm-polaroid span { position: absolute; left: 0; right: 0; bottom: .5rem; font-size: .9rem; }
.bm-polaroid:nth-child(1) { --r: -8deg; --x: -38%; --y: 6%; z-index: 1; }
.bm-polaroid:nth-child(2) { --r: 5deg; --x: 0; --y: -10%; z-index: 3; }
.bm-polaroid:nth-child(3) { --r: 12deg; --x: 40%; --y: 12%; z-index: 2; }
.bm-polaroid:hover { transform: rotate(0) translate(var(--x, 0), var(--y, 0)) scale(1.06); z-index: 4; }
.bm-wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 3rem; fill: var(--pk-bg); }
@keyframes bm-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.bm-btn--bounce { animation: bm-bounce 2.4s ease-in-out infinite; } .bm-btn--bounce:hover { animation: none; }

/* sections */
.bm-section .pk-section__head h2 { display: flex; align-items: center; gap: .6rem; }
.bm-emoji { font-size: 1.1em; }
.bm-section--paws { position: relative; }
.bm-section--paws::before { content: "🐾"; position: absolute; right: 4%; top: 1rem; font-size: 5rem; opacity: .08; transform: rotate(-20deg); pointer-events: none; }
.bm-posts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.bm-post-card { position: relative; transition: transform .2s, box-shadow .2s; }
.bm-post-card:hover { transform: translateY(-4px) rotate(-.4deg); box-shadow: var(--bm-shadow); }
.bm-post-card h3 a { color: inherit; text-decoration: none; } .bm-post-card h3 a:hover { color: var(--pk-accent); }
.bm-gallery-strip { grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr)); }
.bm-thumb > a { aspect-ratio: 1; border-radius: 16px; box-shadow: 0 2px 0 var(--pk-border); transition: transform .2s, box-shadow .2s; }
.bm-thumb:nth-child(odd) > a { transform: rotate(-1.2deg); } .bm-thumb:nth-child(even) > a { transform: rotate(1deg); }
.bm-thumb > a:hover { transform: rotate(0) scale(1.04); box-shadow: var(--bm-shadow); z-index: 1; }
.bm-promo .pk-card { gap: .75rem; }
.bm-card--rescue { background: var(--pk-paper); border-color: color-mix(in srgb, var(--pk-accent-2) 40%, var(--pk-border)); }
.bm-card--join { background: linear-gradient(160deg, var(--pk-surface), var(--pk-bg-alt)); }
.bm-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.bm-links li::before { content: "🐾 "; }
.bm-page-head { max-width: 60rem; margin-bottom: 2rem; }
.bm-breeds { display: grid; gap: 1.5rem; }
.bm-breed { gap: 1rem; }
.bm-breed__head { display: flex; gap: 1rem; align-items: flex-start; }
.bm-breed__head h2 { margin-bottom: .25rem; } .bm-breed__head p { margin: 0; }
.bm-breed__icon { font-size: 2.4rem; line-height: 1; background: var(--pk-bg-alt); border-radius: 50%; width: 4rem; height: 4rem; display: grid; place-items: center; flex: none; }
.bm-breed .pk-dl { grid-template-columns: 8rem 1fr; }
@media (max-width: 40rem) { .bm-breed .pk-dl { grid-template-columns: 1fr; gap: .1rem .5rem; } .bm-breed .pk-dl dd { margin-bottom: .6rem; } }

/* blog, gallery and member pages */
.pk-thumb > a { border-radius: 16px; }
.pk-gallery--feed { grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.pk-image-page__image img { border-radius: 16px; box-shadow: var(--bm-shadow); background: var(--pk-bg-alt); }
.pk-image-page__image > a img { width: 100%; max-height: 82vh; object-fit: contain; }
.pk-filters { border-radius: var(--pk-radius); }
.pk-tabs a { font-family: var(--pk-font-heading); font-weight: 600; }
.pk-prose { font-size: 1.05rem; }
.pk-prose blockquote { border-left-color: var(--pk-accent-2); }
.pk-member-card, .pk-author-card { align-items: center; text-align: center; }
.pk-member-card .pk-avatar--lg, .pk-author-card .pk-avatar--lg { width: 4.5rem; height: 4.5rem; font-size: 1.4rem; }
.pk-footer__about strong { color: var(--pk-footer-fg); font-size: 1.3rem; }
.pk-footer .pk-muted { color: color-mix(in srgb, var(--pk-footer-fg) 70%, transparent); }
.pk-error__code { color: var(--pk-accent-2); }
.bm-rescue-group { margin-bottom: 2.5rem; } .bm-rescue-group h2 { margin-bottom: 1rem; }
.bm-rescue h3 { margin: 0; } .bm-rescue h3 a { color: inherit; text-decoration: none; } .bm-rescue h3 a:hover { color: var(--pk-accent); }
.bm-rescue .pk-post-meta { margin: 0; }
.bm-breed-nav { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-top: 1rem; }
.bm-breed-nav a { display: inline-block; padding: .25rem .7rem; border-radius: 999px; background: var(--pk-bg-alt); border: 1px solid var(--pk-border); text-decoration: none; color: inherit; font-size: .85rem; font-family: var(--pk-font-heading); font-weight: 600; }
.bm-breed-nav a:hover { border-color: var(--pk-accent); color: var(--pk-accent); }
.bm-breed-nav span { margin-right: .25rem; } .bm-breed-nav span + a { margin-left: 0; } .bm-breed-nav a + span { margin-left: .75rem; }
.bm-group-head { margin-top: 2.5rem; scroll-margin-top: 5rem; } .bm-breed { scroll-margin-top: 5rem; }
.bm-breed--restricted { border-color: color-mix(in srgb, var(--pk-warning) 50%, var(--pk-border)); }
.bm-breed--restricted .bm-breed__icon { background: color-mix(in srgb, var(--pk-warning) 18%, var(--pk-bg-alt)); }
.bm-card--law h3 { margin-top: .5rem; scroll-margin-top: 5rem; }
.bm-card--law { border-color: color-mix(in srgb, var(--pk-accent-2) 40%, var(--pk-border)); }
