/*
Theme Name: Abelomania
Theme URI: https://abelomania.com/
Author: Abelomania
Description: Block theme for a DJ and producer website. Everything is editable in Appearance → Editor with WordPress's own blocks; no page builder and no paid plugins required.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abelomania
Tags: block-patterns, full-site-editing, one-column, wide-blocks, custom-colors, editor-style
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--red); color: var(--wp--preset--color--bone); }
:where(a, button, .wp-element-button):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ---------- Header ---------- */
.ab-header { position: sticky; top: 0; z-index: 50; transition: background-color .25s ease, border-color .25s ease; border-bottom: 1px solid transparent; }
.admin-bar .ab-header { top: var(--wp-admin--admin-bar--height, 0); }
.ab-header.is-scrolled { background-color: color-mix(in srgb, var(--wp--preset--color--ink) 92%, transparent); border-bottom-color: color-mix(in srgb, var(--wp--preset--color--bone) 12%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ab-header .wp-block-site-title a { text-decoration: none; }
.ab-header .wp-block-navigation .wp-block-navigation-item__content { text-decoration: none; }
.ab-header .wp-block-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 1px; }
.ab-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--bone) !important; }

/* ---------- Hero ---------- */
.ab-hero { position: relative; overflow: hidden; }
.ab-hero__name { line-height: .8 !important; letter-spacing: -0.045em !important; white-space: nowrap; margin-bottom: 0 !important; padding-bottom: .04em; font-size: min(calc((100vw - var(--wp--style--root--padding-left, 1.5rem) - var(--wp--style--root--padding-right, 1.5rem)) / 6.45), calc(1320px / 6.45)) !important; }
.ab-hero__portrait img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
@media (max-width: 781px) {
	.ab-hero .ab-hero__top { flex-direction: column-reverse; }
	.ab-hero__portrait { max-width: 420px; }
}

/* ---------- Generic section helpers ---------- */
.ab-kicker { opacity: .7; }
.ab-rule-list > * { border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
.ab-rule-list > *:last-child { border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
.ab-rule-list a { text-decoration: none; }
.ab-row-link { transition: padding-left .2s ease, color .2s ease; }
.ab-row-link:hover { padding-left: .75rem !important; }
.ab-row-link:hover .ab-row-title { color: var(--wp--preset--color--red); }
@media (prefers-reduced-motion: reduce) { .ab-row-link, .ab-row-link:hover { transition: none; padding-left: 0 !important; } }

/* ---------- Releases ---------- */
.ab-release .wp-block-image img { aspect-ratio: 1; object-fit: cover; width: 100%; transition: filter .3s ease; }
.ab-release:hover .wp-block-image img { filter: saturate(1.15) contrast(1.05); }
.ab-release h3 a { text-decoration: none; }
.ab-release h3 a:hover { text-decoration: underline; text-underline-offset: .2em; }

/* ---------- Facts ---------- */
.ab-facts > .wp-block-column { border-left: 1px solid color-mix(in srgb, currentColor 22%, transparent); padding-left: var(--wp--preset--spacing--30); }
@media (max-width: 781px) { .ab-facts > .wp-block-column { border-left: 0; padding-left: 0; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); padding-top: var(--wp--preset--spacing--20); } }

/* ---------- Posts ---------- */
.ab-news .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; }
.ab-news .wp-block-post-title a { text-decoration: none; }
.ab-news .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: .2em; }

/* ---------- Booking ---------- */
.ab-booking__email a { text-decoration: none; border-bottom: .06em solid currentColor; word-break: break-all; }
.ab-booking__email a:hover { border-bottom-color: transparent; }

/* ---------- Embeds ---------- */
.wp-block-embed.is-provider-spotify iframe, .wp-block-embed.is-provider-soundcloud iframe { border-radius: 12px; }

/* ---------- Load-in: one moment, on the hero only ---------- */
@media (prefers-reduced-motion: no-preference) {
	.ab-hero__name { animation: ab-rise 1s cubic-bezier(.2,.7,.1,1) both .1s; }
	@keyframes ab-rise { from { transform: translateY(35%); opacity: 0; } to { transform: none; opacity: 1; } }
}
