/*
Theme Name: AnimeVerse
Theme URI: https://animeverse.example.com
Author: Telex
Description: A warm, romantic anime review and community theme with a soft blush-and-plum palette inspired by the Cafe de Waifu aesthetic. Features Shippori Mincho display headings, Zen Maru Gothic body text, and warm coral accents throughout.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: animeverse
Tags: blog, entertainment, custom-colors, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, wide-blocks, translation-ready
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
*/

/* ----------------------------------------------------------------
   Foundation resets
   ---------------------------------------------------------------- */

:root,
body,
.wp-site-blocks {
	overflow: visible;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ----------------------------------------------------------------
   Dark mode custom properties
   ---------------------------------------------------------------- */

:root {
	--dm-bg: #1A0E24;
	--dm-bg-alt: #241432;
	--dm-surface: #2E1A3E;
	--dm-surface-hover: #3A2350;
	--dm-text: #F0E6F6;
	--dm-text-muted: #CFC0DC;
	--dm-heading: #FDFAFF;
	--dm-accent: #F9A8D4;
	--dm-accent-hover: #F472B6;
	--dm-border: #3D2A50;
	--dm-border-light: #4A3560;
	--dm-gold: #FBBF24;
	--dm-link: #F9A8D4;
	--dm-link-hover: #FECDD3;
	--dm-code-bg: #2E1A3E;
	--dm-card-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* ----------------------------------------------------------------
   Dark mode — global overrides
   ---------------------------------------------------------------- */

[data-theme="dark"] body,
[data-theme="dark"] .wp-site-blocks {
	background-color: var(--dm-bg);
	color: var(--dm-text);
}

[data-theme="dark"] p,
[data-theme="dark"] li,
[data-theme="dark"] dd,
[data-theme="dark"] dt,
[data-theme="dark"] td,
[data-theme="dark"] figcaption,
[data-theme="dark"] .wp-block-paragraph,
[data-theme="dark"] .wp-block-list {
	color: var(--dm-text);
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .wp-block-heading,
[data-theme="dark"] .wp-block-post-title,
[data-theme="dark"] .wp-block-site-title,
[data-theme="dark"] .wp-block-site-title a {
	color: var(--dm-heading);
}

[data-theme="dark"] a {
	color: var(--dm-link);
}

[data-theme="dark"] a:hover {
	color: var(--dm-link-hover);
}

[data-theme="dark"] .wp-block-post-content a:not(.wp-block-button__link) {
	text-decoration-color: var(--dm-accent);
}

[data-theme="dark"] .wp-block-post-content a:not(.wp-block-button__link):hover {
	text-decoration-color: var(--dm-link-hover);
}

[data-theme="dark"] .wp-block-post-date,
[data-theme="dark"] .wp-block-post-excerpt {
	color: var(--dm-text-muted);
}

/* ----------------------------------------------------------------
   Dark mode — color class overrides
   ---------------------------------------------------------------- */

[data-theme="dark"] .has-deep-plum-color {
	color: var(--dm-heading) !important;
}

[data-theme="dark"] .has-plum-grey-color {
	color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .has-warm-coral-color {
	color: var(--dm-accent) !important;
}

[data-theme="dark"] .has-warm-grey-color {
	color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .has-gold-accent-color {
	color: var(--dm-gold) !important;
}

[data-theme="dark"] .has-text-color {
	color: var(--dm-text);
}

[data-theme="dark"] .has-deep-plum-color.has-text-color {
	color: var(--dm-heading) !important;
}

[data-theme="dark"] .has-plum-grey-color.has-text-color {
	color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .has-warm-coral-color.has-text-color {
	color: var(--dm-accent) !important;
}

[data-theme="dark"] .has-warm-grey-color.has-text-color {
	color: var(--dm-text-muted) !important;
}

/* ----------------------------------------------------------------
   Dark mode — background class overrides
   ---------------------------------------------------------------- */

[data-theme="dark"] .has-white-background-color {
	background-color: var(--dm-surface) !important;
}

[data-theme="dark"] .has-blush-white-background-color {
	background-color: var(--dm-bg-alt) !important;
}

[data-theme="dark"] .has-lilac-background-color {
	background-color: var(--dm-surface) !important;
}

[data-theme="dark"] .has-soft-rose-background-color {
	background-color: var(--dm-border) !important;
}

[data-theme="dark"] .has-soft-rose-color {
	color: var(--dm-border);
}

/* ----------------------------------------------------------------
   Dark mode — header
   ---------------------------------------------------------------- */

[data-theme="dark"] .site-header {
	background-color: var(--dm-bg);
	border-bottom-color: var(--dm-border);
}

[data-theme="dark"] body.is-scrolled .wp-site-blocks > header.wp-block-template-part::before {
	background: var(--dm-bg);
	box-shadow: 0 1px 0 var(--dm-border);
}

/* ----------------------------------------------------------------
   Dark mode — navigation
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--dm-text);
}

[data-theme="dark"] .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-navigation .wp-block-navigation-item__content::after {
	background: var(--dm-accent);
}

[data-theme="dark"] .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	box-shadow: var(--dm-card-shadow);
}

[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--dm-bg) !important;
	border-bottom-color: var(--dm-border);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item__link,
[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container li a {
	color: var(--dm-heading) !important;
	border-bottom-color: var(--dm-border) !important;
}

[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	color: var(--dm-heading) !important;
}

/* ----------------------------------------------------------------
   Dark mode — search
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-search .wp-block-search__input {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-text);
}

[data-theme="dark"] .wp-block-search .wp-block-search__input:focus {
	border-color: var(--dm-accent);
	box-shadow: 0 0 0 3px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .wp-block-search .wp-block-search__input::placeholder {
	color: var(--dm-text-muted);
}

/* ----------------------------------------------------------------
   Dark mode — cards and groups
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-group.has-white-background-color {
	border-color: var(--dm-border);
}

[data-theme="dark"] .wp-block-group.has-white-background-color:hover {
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .wp-block-group.has-border-color {
	border-color: var(--dm-border) !important;
}

/* ----------------------------------------------------------------
   Dark mode — buttons
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-button__link:hover {
	box-shadow: 0 4px 14px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--dm-accent);
	color: var(--dm-accent);
}

[data-theme="dark"] .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--dm-surface-hover);
	color: var(--dm-heading);
	border-color: var(--dm-accent-hover);
}

/* ----------------------------------------------------------------
   Dark mode — separator
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-separator {
	border-color: var(--dm-border);
}

[data-theme="dark"] .wp-block-separator.has-soft-rose-background-color,
[data-theme="dark"] .wp-block-separator.has-soft-rose-color {
	color: var(--dm-border) !important;
	background-color: var(--dm-border) !important;
}

/* ----------------------------------------------------------------
   Dark mode — quote and pullquote
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-quote {
	border-left-color: var(--dm-accent);
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-quote p {
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-quote cite,
[data-theme="dark"] .wp-block-pullquote cite {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .wp-block-pullquote {
	border-top-color: var(--dm-accent);
	border-bottom-color: var(--dm-accent);
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-pullquote p {
	color: var(--dm-heading);
}

/* ----------------------------------------------------------------
   Dark mode — code block
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-code {
	background-color: var(--dm-code-bg);
	color: var(--dm-text);
}

/* ----------------------------------------------------------------
   Dark mode — post terms / tags
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-post-terms a {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-accent) !important;
}

[data-theme="dark"] .wp-block-post-terms a:hover {
	background: var(--dm-surface-hover);
	color: var(--dm-heading) !important;
}

/* ----------------------------------------------------------------
   Dark mode — inline styles override
   ---------------------------------------------------------------- */

[data-theme="dark"] [style*="color"] {
	color: inherit;
}

/* ----------------------------------------------------------------
   Dark mode — tag cloud
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-tag-cloud a {
	background: var(--dm-surface);
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-tag-cloud a:hover {
	background: var(--dm-accent-hover);
	color: var(--dm-bg);
}

/* ----------------------------------------------------------------
   Dark mode — table
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-table th,
[data-theme="dark"] .wp-block-table td {
	border-bottom-color: var(--dm-border);
}

[data-theme="dark"] .wp-block-table th {
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-table tr:hover td {
	background: var(--dm-surface);
}

/* ----------------------------------------------------------------
   Dark mode — details / accordion
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-details {
	border-color: var(--dm-border);
}

[data-theme="dark"] .wp-block-details:hover {
	border-color: var(--dm-accent);
}

[data-theme="dark"] .wp-block-details summary {
	color: var(--dm-heading);
}

/* ----------------------------------------------------------------
   Dark mode — categories list
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-categories-list li {
	border-bottom-color: var(--dm-border);
}

[data-theme="dark"] .wp-block-categories-list a {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .wp-block-categories-list a:hover {
	color: var(--dm-accent);
}

/* ----------------------------------------------------------------
   Dark mode — pagination
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-query-pagination .page-numbers,
[data-theme="dark"] .wp-block-query-pagination-numbers .page-numbers {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .wp-block-query-pagination .page-numbers:hover,
[data-theme="dark"] .wp-block-query-pagination-numbers .page-numbers:hover {
	background: var(--dm-surface);
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-query-pagination .page-numbers.current,
[data-theme="dark"] .wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--dm-accent-hover);
	color: var(--dm-bg);
}

/* ----------------------------------------------------------------
   Dark mode — cover block
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-cover {
	color: var(--dm-heading);
}

[data-theme="dark"] .wp-block-cover p,
[data-theme="dark"] .wp-block-cover h1,
[data-theme="dark"] .wp-block-cover h2,
[data-theme="dark"] .wp-block-cover h3 {
	color: inherit;
}

/* ----------------------------------------------------------------
   Dark mode — post template (grid cards)
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-post-template > li:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

/* ----------------------------------------------------------------
   Dark mode — footer
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-site-blocks > footer.wp-block-template-part .wp-block-group.has-white-background-color {
	background-color: var(--dm-bg-alt) !important;
	border-top-color: var(--dm-border) !important;
}

[data-theme="dark"] .wp-site-blocks > footer.wp-block-template-part p {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .wp-site-blocks > footer.wp-block-template-part a {
	color: var(--dm-accent);
	text-decoration-color: var(--dm-border);
}

[data-theme="dark"] .wp-site-blocks > footer.wp-block-template-part a:hover {
	text-decoration-color: var(--dm-accent);
}

/* ----------------------------------------------------------------
   Dark mode — social links
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-social-links.has-icon-color .wp-block-social-link {
	color: var(--dm-accent);
}

/* ----------------------------------------------------------------
   Dark mode — user-nav
   ---------------------------------------------------------------- */

[data-theme="dark"] .animeverse-user-nav__login-link {
	color: var(--dm-text-muted);
	border-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-user-nav__login-link:hover {
	color: var(--dm-heading);
	border-color: var(--dm-accent);
	background: var(--dm-surface);
}

[data-theme="dark"] .animeverse-user-nav__trigger {
	color: var(--dm-heading);
	border-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-user-nav__trigger:hover {
	border-color: var(--dm-accent);
	background: var(--dm-surface);
}

[data-theme="dark"] .animeverse-user-nav__dropdown {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	box-shadow: var(--dm-card-shadow);
}

[data-theme="dark"] .animeverse-user-nav__dropdown-item {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-user-nav__dropdown-item:hover {
	background: var(--dm-surface-hover);
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-user-nav__divider {
	border-top-color: var(--dm-border);
}

/* ----------------------------------------------------------------
   Dark mode — profile editor
   ---------------------------------------------------------------- */

[data-theme="dark"] .animeverse-profile-editor__label {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-profile-editor__required {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-profile-editor__input,
[data-theme="dark"] .animeverse-profile-editor__textarea {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-text);
}

[data-theme="dark"] .animeverse-profile-editor__input:focus,
[data-theme="dark"] .animeverse-profile-editor__textarea:focus {
	border-color: var(--dm-accent);
	box-shadow: 0 0 0 3px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .animeverse-profile-editor__input::placeholder,
[data-theme="dark"] .animeverse-profile-editor__textarea::placeholder {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-profile-editor__avatar-img {
	border-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-profile-editor__avatar-overlay {
	background: rgba(26, 14, 36, 0.7);
}

[data-theme="dark"] .animeverse-profile-editor__avatar-hint {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-profile-editor__guest {
	color: var(--dm-text-muted);
}

/* ----------------------------------------------------------------
   Dark mode — dashboard
   ---------------------------------------------------------------- */

[data-theme="dark"] .animeverse-dashboard__profile-card,
[data-theme="dark"] .animeverse-dashboard__section {
	background-color: var(--dm-surface);
	border-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-dashboard__display-name {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-dashboard__meta {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__email,
[data-theme="dark"] .animeverse-dashboard__stat-label,
[data-theme="dark"] .animeverse-dashboard__detail-label,
[data-theme="dark"] .animeverse-dashboard__activity-excerpt,
[data-theme="dark"] .animeverse-dashboard__guest-text {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-dashboard__stat-value,
[data-theme="dark"] .animeverse-dashboard__detail-value,
[data-theme="dark"] .animeverse-dashboard__guest-title {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-dashboard__stats,
[data-theme="dark"] .animeverse-dashboard__detail-row,
[data-theme="dark"] .animeverse-dashboard__activity-item,
[data-theme="dark"] .animeverse-dashboard__section-title {
	border-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-dashboard__section-title {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-dashboard__section-title svg {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__action-card {
	background: var(--dm-bg-alt);
	border-color: var(--dm-border);
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-dashboard__action-card svg {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__action-card:hover {
	background: var(--dm-surface-hover);
	border-color: var(--dm-accent);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .animeverse-dashboard__action-card--logout {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-dashboard__action-card--logout svg {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-dashboard__activity-text {
	color: var(--dm-text);
}

[data-theme="dark"] .animeverse-dashboard__activity-text a {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__activity-text a:hover {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-dashboard__activity-time {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-dashboard__activity-dot {
	background: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__edit-link {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__edit-link:hover {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-dashboard__empty svg {
	color: var(--dm-border-light);
}

[data-theme="dark"] .animeverse-dashboard__empty p {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-dashboard__empty-link {
	color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__avatar-img {
	border-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-dashboard__guest-btn {
	background: var(--dm-accent-hover);
	color: var(--dm-bg);
}

[data-theme="dark"] .animeverse-dashboard__guest-btn:hover {
	background: var(--dm-accent);
}

[data-theme="dark"] .animeverse-dashboard__guest-icon {
	color: var(--dm-accent);
}

/* ----------------------------------------------------------------
   Dark mode — register form
   ---------------------------------------------------------------- */

[data-theme="dark"] .animeverse-register-form__input {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-text);
}

[data-theme="dark"] .animeverse-register-form__input:focus {
	border-color: var(--dm-accent);
	box-shadow: 0 0 0 3px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .animeverse-register-form__input::placeholder {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-register-form__label {
	color: var(--dm-heading);
}

[data-theme="dark"] .animeverse-register-form__required {
	color: var(--dm-accent);
}

/* ----------------------------------------------------------------
   Dark mode — login form
   ---------------------------------------------------------------- */

[data-theme="dark"] .animeverse-login-form__input {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-text);
}

[data-theme="dark"] .animeverse-login-form__input:focus {
	border-color: var(--dm-accent);
	box-shadow: 0 0 0 3px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .animeverse-login-form__input::placeholder {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-login-form__label {
	color: var(--dm-heading);
}

/* ----------------------------------------------------------------
   Dark mode — contact form
   ---------------------------------------------------------------- */

[data-theme="dark"] .animeverse-contact-form__input,
[data-theme="dark"] .animeverse-contact-form__textarea {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-text);
}

[data-theme="dark"] .animeverse-contact-form__input:focus,
[data-theme="dark"] .animeverse-contact-form__textarea:focus {
	border-color: var(--dm-accent);
	box-shadow: 0 0 0 3px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .animeverse-contact-form__input::placeholder,
[data-theme="dark"] .animeverse-contact-form__textarea::placeholder {
	color: var(--dm-text-muted);
}

[data-theme="dark"] .animeverse-contact-form__label {
	color: var(--dm-heading);
}

/* ----------------------------------------------------------------
   Dark mode — selection
   ---------------------------------------------------------------- */

[data-theme="dark"] ::selection {
	background: var(--dm-surface-hover);
	color: var(--dm-heading);
}

/* ----------------------------------------------------------------
   Dark mode — focus visible
   ---------------------------------------------------------------- */

[data-theme="dark"] :focus-visible {
	outline-color: var(--dm-accent);
}

/* ----------------------------------------------------------------
   Dark mode — images
   ---------------------------------------------------------------- */

[data-theme="dark"] .wp-block-image:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* ----------------------------------------------------------------
   Dark mode transition
   ---------------------------------------------------------------- */

html[data-theme] body,
html[data-theme] .wp-site-blocks,
html[data-theme] .site-header,
html[data-theme] .wp-block-group,
html[data-theme] .wp-block-navigation .wp-block-navigation-item__content,
html[data-theme] .wp-block-search .wp-block-search__input,
html[data-theme] .wp-block-separator {
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* ----------------------------------------------------------------
   Sticky header
   ---------------------------------------------------------------- */

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

/* Backdrop pseudo for scrolled state */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

.wp-site-blocks > header.wp-block-template-part::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	transition: background 0.4s ease, box-shadow 0.4s ease;
}

body.is-scrolled .wp-site-blocks > header.wp-block-template-part::before {
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 0 var(--wp--preset--color--soft-rose);
}

/* Header inner group — site-header className */
.site-header {
	transition: padding 0.25s ease;
}

/* Header border accent */
.site-header {
	border-bottom: 1px solid var(--wp--preset--color--soft-rose);
}

/* ----------------------------------------------------------------
   Typography polish
   ---------------------------------------------------------------- */

/* Headings — Shippori Mincho refinement */
h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.wp-block-site-title {
	text-wrap: balance;
}

/* Body text — Zen Maru Gothic warmth */
p {
	text-wrap: pretty;
}

/* Blockquote citation */
.wp-block-quote cite,
.wp-block-pullquote cite {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--plum-grey);
	font-style: normal;
	letter-spacing: 0.04em;
}

/* ----------------------------------------------------------------
   Link styles
   ---------------------------------------------------------------- */

a {
	transition: color 0.2s ease, border-color 0.2s ease;
}

/* Underline offset for body links */
.wp-block-post-content a:not(.wp-block-button__link) {
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--wp--preset--color--pink-stroke);
}

.wp-block-post-content a:not(.wp-block-button__link):hover {
	text-decoration-color: var(--wp--preset--color--warm-coral);
}

/* ----------------------------------------------------------------
   Button treatments
   ---------------------------------------------------------------- */

.wp-block-button__link {
	transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
	border: none;
	cursor: pointer;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(244, 114, 182, 0.25);
}

.wp-block-button__link:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(244, 114, 182, 0.15);
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--wp--preset--color--warm-coral);
	color: var(--wp--preset--color--warm-coral);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--soft-rose);
	color: var(--wp--preset--color--deep-plum);
	border-color: var(--wp--preset--color--soft-rose);
}

/* ----------------------------------------------------------------
   Navigation polish
   ---------------------------------------------------------------- */

.wp-block-navigation .wp-block-navigation-item__content {
	transition: color 0.2s ease;
	position: relative;
}

/* Subtle underline on hover */
.wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background: var(--wp--preset--color--warm-coral);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.25s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover::after {
	transform: scaleX(1);
}

/* Current page highlight */
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--deep-plum);
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

/* Dropdown submenus */
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(76, 29, 75, 0.08);
	padding: var(--wp--preset--spacing--20) 0;
	min-width: 200px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
}

/* ----------------------------------------------------------------
   Mobile hamburger overlay
   ---------------------------------------------------------------- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--white) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--40);
	align-items: flex-start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item__link,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--medium) !important;
	color: var(--wp--preset--color--deep-plum) !important;
	padding: 0.5rem 0;
	text-align: left !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	color: var(--wp--preset--color--deep-plum) !important;
}

/* Mobile menu button sizing for touch */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ----------------------------------------------------------------
   Image treatments
   ---------------------------------------------------------------- */

.wp-block-image img,
.wp-block-cover img {
	border-radius: 6px;
}

/* Soft warm shadow on images */
.wp-block-image {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-image:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(76, 29, 75, 0.08);
}

/* Gallery items */
.wp-block-gallery .wp-block-image {
	border-radius: 6px;
	overflow: hidden;
}

/* Cover blocks — ensure full radius and smooth image */
.wp-block-cover {
	border-radius: 6px;
	overflow: hidden;
}

/* Featured image on posts */
.wp-block-post-featured-image img {
	border-radius: 6px;
	transition: transform 0.4s ease;
}

.wp-block-post-featured-image:hover img {
	transform: scale(1.02);
}

.wp-block-post-featured-image {
	overflow: hidden;
	border-radius: 6px;
}

/* ----------------------------------------------------------------
   Card-like groups (content cards, category cards)
   ---------------------------------------------------------------- */

/* Generic card styling for groups with white background */
.wp-block-group.has-white-background-color {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-group.has-white-background-color:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(76, 29, 75, 0.08);
}

/* ----------------------------------------------------------------
   Separator polish
   ---------------------------------------------------------------- */

.wp-block-separator {
	opacity: 1;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	width: 80px;
	border-radius: 2px;
}

.wp-block-separator.is-style-dots::before {
	color: var(--wp--preset--color--pink-stroke);
}

/* ----------------------------------------------------------------
   Code block
   ---------------------------------------------------------------- */

.wp-block-code code {
	font-size: inherit;
	white-space: pre-wrap;
	word-break: break-word;
}

/* ----------------------------------------------------------------
   Post terms / tags — pill style
   ---------------------------------------------------------------- */

.wp-block-post-terms a {
	display: inline-block;
	padding: 0.2em 0.7em;
	background: var(--wp--preset--color--blush-white);
	border: 1px solid var(--wp--preset--color--soft-rose);
	border-radius: 20px;
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--warm-coral);
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-post-terms a:hover {
	background: var(--wp--preset--color--soft-rose);
	color: var(--wp--preset--color--deep-plum);
}

/* ----------------------------------------------------------------
   Post template — grid card refinements
   ---------------------------------------------------------------- */

.wp-block-post-template {
	list-style: none;
	padding: 0;
}

.wp-block-post-template > li {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-post-template > li:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(76, 29, 75, 0.06);
}

/* ----------------------------------------------------------------
   Gold accent badge utility
   ---------------------------------------------------------------- */

.has-gold-accent-background-color {
	color: var(--wp--preset--color--white);
}

/* ----------------------------------------------------------------
   Hero section specifics
   ---------------------------------------------------------------- */

/* Hero content vertical title styling for the reference design */
.hero-vertical-title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	color: var(--wp--preset--color--deep-plum);
	line-height: 1.5;
	letter-spacing: 0.12em;
}

/* Hero badge */
.hero-badge-new {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	background: var(--wp--preset--color--gold-accent);
	color: var(--wp--preset--color--white);
	font-size: 0.65rem;
	font-weight: 700;
	border-radius: 20px;
	letter-spacing: 0.06em;
}

/* Hero subtitle styling */
.hero-subtitle-line {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	color: var(--wp--preset--color--plum-grey);
	letter-spacing: 0.15em;
	line-height: 2;
}

/* Scroll hint */
.scroll-hint-text {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.65rem;
	color: var(--wp--preset--color--warm-grey);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.scroll-hint-line {
	width: 1px;
	height: 32px;
	background: linear-gradient(to bottom, var(--wp--preset--color--warm-coral), transparent);
}

/* ----------------------------------------------------------------
   Cover block gradient overlay adjustments
   ---------------------------------------------------------------- */

.wp-block-cover .wp-block-cover__gradient-background {
	opacity: 0.9;
}

/* ----------------------------------------------------------------
   Section title accent — pink left border
   ---------------------------------------------------------------- */

.section-title-accent {
	border-left: 3px solid var(--wp--preset--color--warm-coral);
	padding-left: var(--wp--preset--spacing--30);
}

/* ----------------------------------------------------------------
   Columns responsive tweaks
   ---------------------------------------------------------------- */

@media (max-width: 767px) {
	.wp-block-columns {
		flex-direction: column !important;
	}

	.wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — header
   ---------------------------------------------------------------- */

/* Desktop: ensure header row distributes space properly */
.site-header > .wp-block-group {
	flex-wrap: nowrap !important;
}

/* Give navigation block room to breathe without overflowing */
.site-header .wp-block-navigation {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
}

@media (max-width: 899px) {
	/* Let the header inner row wrap */
	.site-header > .wp-block-group {
		flex-wrap: wrap !important;
		gap: 0.5rem !important;
	}

	/* Site title stays left, shrinks gracefully */
	.site-header .wp-block-site-title {
		flex: 0 1 auto;
		min-width: 0;
		font-size: 1.05rem !important;
	}

	/* Hide the search box on small screens — navigation overlay has search */
	.site-header .wp-block-search {
		display: none !important;
	}

	/* Group the right-side controls tightly */
	.site-header .animeverse-dark-mode-toggle,
	.site-header .animeverse-user-nav {
		flex-shrink: 0;
	}

	/* Ensure the navigation block doesn't overflow */
	.site-header .wp-block-navigation {
		flex: 0 1 auto;
		min-width: 0;
	}
}

@media (max-width: 599px) {
	/* Even tighter: hide user-nav label, keep icon */
	.animeverse-user-nav__label {
		display: none;
	}

	.animeverse-user-nav__login-link {
		padding: 0.4em 0.6em;
	}

	/* Reduce header padding */
	.site-header {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	/* Dark mode toggle — smaller touch target area still meets 44px */
	.animeverse-dark-mode-toggle__button {
		width: 36px;
		height: 36px;
	}

	/* User nav name hidden on very small screens */
	.animeverse-user-nav__name {
		display: none;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — buttons
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	/* Stack buttons vertically on small screens */
	.wp-block-buttons {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.wp-block-buttons .wp-block-button {
		width: 100%;
	}

	.wp-block-button__link {
		width: 100%;
		justify-content: center;
		text-align: center;
		padding-left: 1.5em !important;
		padding-right: 1.5em !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — hero section
   ---------------------------------------------------------------- */

/* Ensure cover block background images scale responsively */
.wp-block-cover .wp-block-cover__image-background {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

@media (max-width: 767px) {
	.wp-block-cover {
		min-height: 70vh !important;
	}

	/* On mobile, shift the focal point so the character stays visible */
	.wp-block-cover .wp-block-cover__image-background {
		object-position: center top;
	}

	.hero-content {
		padding: 0 0.5rem;
	}

	/* Ensure hero heading doesn't overflow */
	.hero-content .wp-block-heading {
		word-break: break-word;
	}
}

@media (max-width: 480px) {
	.wp-block-cover {
		min-height: 60vh !important;
	}

	.wp-block-cover .wp-block-cover__image-background {
		object-position: 60% top;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — review card grids
   ---------------------------------------------------------------- */

@media (max-width: 767px) {
	/* Two-column grid on mobile for review cards */
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: var(--wp--preset--spacing--30, 1rem) !important;
	}

	/* Archive featured review cover — reduce height */
	.wp-block-query .wp-block-cover {
		min-height: 280px !important;
	}

	/* Tighten card padding on mobile 2-col layout */
	.wp-block-post-template.is-layout-grid .wp-block-group.has-white-background-color {
		padding-bottom: var(--wp--preset--spacing--20) !important;
	}

	/* Smaller text inside mobile review cards */
	.wp-block-post-template.is-layout-grid .wp-block-post-title {
		font-size: 0.85rem !important;
		line-height: 1.3 !important;
	}

	.wp-block-post-template.is-layout-grid .wp-block-post-excerpt {
		display: none !important;
	}
}

@media (max-width: 374px) {
	/* Very small screens fall back to single column */
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr !important;
	}

	.wp-block-post-template.is-layout-grid .wp-block-post-excerpt {
		display: block !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	/* Tablet: 2 columns instead of 3-4 */
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — cards and sections
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	/* Cards get less padding on mobile */
	.wp-block-group.has-white-background-color {
		padding: var(--wp--preset--spacing--30) !important;
	}

	/* Testimonial cards */
	.wp-block-group.has-blush-white-background-color {
		padding: var(--wp--preset--spacing--30) !important;
	}

	/* Reduce section vertical padding */
	.wp-block-group.alignwide,
	.wp-block-group.alignfull {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — genre pills / filter row
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	/* Genre filter pills should scroll horizontally */
	.wp-block-group[style*="flexWrap"] {
		flex-wrap: wrap !important;
	}

	/* Genre pills smaller on mobile */
	.has-border-color.has-warm-coral-color.has-body-font-family[style*="border-radius:20px"] {
		font-size: 0.72rem !important;
		padding: 0.25em 0.7em !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — dashboard
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	.animeverse-dashboard__action-grid {
		grid-template-columns: 1fr 1fr !important;
	}

	.animeverse-dashboard__stats {
		grid-template-columns: 1fr !important;
		gap: 0.5rem;
	}

	.animeverse-dashboard__stat {
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: left;
		padding: 0.4em 0;
	}

	.animeverse-dashboard__stat-value {
		font-size: 1rem;
	}

	.animeverse-dashboard__detail-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.15em;
	}

	.animeverse-dashboard__detail-value {
		text-align: left;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — form pages (login, register, contact)
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	/* Login/register card — reduce padding on small screens */
	.wp-block-group[style*="border-radius:14px"][style*="padding-top:var(--wp--preset--spacing--60)"] {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
	}

	/* Contact form columns stack */
	.wp-block-columns .wp-block-column[style*="flex-basis:58%"],
	.wp-block-columns .wp-block-column[style*="flex-basis:42%"] {
		flex-basis: 100% !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — footer
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	.wp-site-blocks > footer.wp-block-template-part .wp-block-group {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	/* Social links should wrap */
	.wp-block-social-links {
		flex-wrap: wrap !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — cover text
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	.wp-block-cover .wp-block-cover__inner-container {
		padding: 1rem !important;
	}

	/* Ensure cover block text is readable */
	.wp-block-cover .wp-block-heading {
		font-size: clamp(1.3rem, 5vw, 2rem) !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — navigation overlay improvements
   ---------------------------------------------------------------- */

/* Fix the responsive navigation overlay display across all breakpoints */
.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	width: 100% !important;
	height: auto !important;
	max-height: 70vh !important;
	z-index: 999999 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow-y: auto !important;
	background: var(--wp--preset--color--white, #FFFFFF) !important;
	border-bottom: 1px solid var(--wp--preset--color--soft-rose, #FECDD3);
	box-shadow: 0 8px 24px rgba(76, 29, 75, 0.12);
}

/* Ensure the inner container takes appropriate space with scroll */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.25rem;
	flex: 0 1 auto;
	padding-top: var(--wp--preset--spacing--30, 1rem);
	overflow-y: auto;
	align-items: flex-start !important;
	text-align: left !important;
	justify-content: flex-start !important;
}

/* Navigation items inside the overlay — full-width, stacked, left-aligned */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100%;
	text-align: left !important;
}

/* Each navigation item spans full width, left-aligned */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	text-align: left !important;
}

/* Page list — the wp:page-list block renders a <ul> with its own flex rules */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item {
	width: 100%;
	text-align: left !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > ul {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100% !important;
	gap: 0 !important;
}

/*
 * Force text visibility and LEFT alignment inside the overlay.
 * WordPress applies overlayBackgroundColor / overlayTextColor as inline
 * CSS custom properties, and the header's layout:center carries into the
 * overlay. We override all of that here.
 */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item__link,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container li a {
	color: var(--wp--preset--color--deep-plum, #4C1D4B) !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-align: left !important;
	justify-content: flex-start !important;
	display: block !important;
	width: 100% !important;
	padding: 0.65rem 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--border, #F3E8F0);
	font-size: 0.92rem !important;
	font-weight: 500;
	line-height: 1.4;
}

/* Last item no border */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item:last-child > .wp-block-pages-list__item__link {
	border-bottom: none;
}

/* ── Search box injected into the mobile overlay ── */
.animeverse-overlay-search {
	display: none;
}

.wp-block-navigation__responsive-container.is-menu-open .animeverse-overlay-search {
	display: block;
	width: 100%;
	padding: 0.5rem 0;
	margin-top: var(--wp--preset--spacing--20, 0.5rem);
	border-top: 1px solid var(--wp--preset--color--soft-rose, #FECDD3);
	padding-top: var(--wp--preset--spacing--30, 1rem);
}

.animeverse-overlay-search__input {
	display: block;
	width: 100%;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: var(--wp--preset--font-size--medium, 1rem);
	color: var(--wp--preset--color--deep-plum, #4C1D4B);
	background: var(--wp--preset--color--blush-white, #FFF5F7);
	border: 1px solid var(--wp--preset--color--border, #F3E8F0);
	border-radius: 24px;
	padding: 0.7em 1.2em;
	min-height: 44px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.animeverse-overlay-search__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--warm-coral, #F472B6);
	box-shadow: 0 0 0 3px rgba(244, 114, 182, 0.15);
}

.animeverse-overlay-search__input::placeholder {
	color: var(--wp--preset--color--warm-grey, #9CA3AF);
}

/* Dark mode overlay search */
[data-theme="dark"] .animeverse-overlay-search {
	border-top-color: var(--dm-border);
}

[data-theme="dark"] .animeverse-overlay-search__input {
	background: var(--dm-surface);
	border-color: var(--dm-border);
	color: var(--dm-text);
}

[data-theme="dark"] .animeverse-overlay-search__input:focus {
	border-color: var(--dm-accent);
	box-shadow: 0 0 0 3px rgba(249, 168, 212, 0.2);
}

[data-theme="dark"] .animeverse-overlay-search__input::placeholder {
	color: var(--dm-text-muted);
}

/* Remove the underline pseudo-element inside the overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

/* Close button positioning */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: var(--wp--preset--spacing--30, 1rem);
	right: var(--wp--preset--spacing--30, 1rem);
	z-index: 10;
	color: var(--wp--preset--color--deep-plum, #4C1D4B) !important;
	flex-shrink: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	color: inherit !important;
}

@media (max-width: 599px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
		max-height: 65vh !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: 0.9rem !important;
		padding: 0.55rem 0 !important;
		min-height: 44px;
	}

	/* Close button larger touch target */
	.wp-block-navigation__responsive-container-close {
		min-width: 48px;
		min-height: 48px;
	}
}

@media (min-width: 600px) and (max-width: 899px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		max-height: 60vh !important;
	}
}

/* ----------------------------------------------------------------
   Mobile responsiveness — profile editor
   ---------------------------------------------------------------- */

@media (max-width: 599px) {
	.animeverse-profile-editor__avatar-wrapper {
		width: 96px;
		height: 96px;
	}

	.animeverse-profile-editor__avatar-img {
		width: 96px;
		height: 96px;
	}

	.animeverse-profile-collapsible__header {
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}

	.animeverse-profile-collapsible__header::after {
		right: var(--wp--preset--spacing--30, 1rem) !important;
	}

	.animeverse-profile-collapsible__body {
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}
}

/* ----------------------------------------------------------------
   Focus styles — accessible warm coral ring
   ---------------------------------------------------------------- */

:focus-visible {
	outline: 2px solid var(--wp--preset--color--warm-coral);
	outline-offset: 2px;
}

.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--deep-plum);
	outline-offset: 2px;
}

/* ----------------------------------------------------------------
   Selection color
   ---------------------------------------------------------------- */

::selection {
	background: var(--wp--preset--color--soft-rose);
	color: var(--wp--preset--color--deep-plum);
}

/* ----------------------------------------------------------------
   Smooth scroll for anchor links
   ---------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* ----------------------------------------------------------------
   Table styling
   ---------------------------------------------------------------- */

.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table th,
.wp-block-table td {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: left;
}

.wp-block-table th {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	color: var(--wp--preset--color--deep-plum);
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.wp-block-table tr:hover td {
	background: var(--wp--preset--color--blush-white);
}

/* ----------------------------------------------------------------
   Details / accordion block
   ---------------------------------------------------------------- */

.wp-block-details {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	transition: border-color 0.2s ease;
}

.wp-block-details:hover {
	border-color: var(--wp--preset--color--pink-stroke);
}

.wp-block-details summary {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	color: var(--wp--preset--color--deep-plum);
	cursor: pointer;
	min-height: 44px;
	display: flex;
	align-items: center;
}

/* ----------------------------------------------------------------
   Tag cloud
   ---------------------------------------------------------------- */

.wp-block-tag-cloud a {
	display: inline-block;
	padding: 0.25em 0.75em;
	margin: 0.2em;
	background: var(--wp--preset--color--lilac);
	color: var(--wp--preset--color--deep-plum);
	border-radius: 20px;
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small) !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-tag-cloud a:hover {
	background: var(--wp--preset--color--warm-coral);
	color: var(--wp--preset--color--white);
}

/* ----------------------------------------------------------------
   Categories list
   ---------------------------------------------------------------- */

.wp-block-categories-list li {
	padding: var(--wp--preset--spacing--20) 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.wp-block-categories-list li:last-child {
	border-bottom: none;
}

.wp-block-categories-list a {
	text-decoration: none;
	color: var(--wp--preset--color--plum-grey);
	transition: color 0.2s ease;
}

.wp-block-categories-list a:hover {
	color: var(--wp--preset--color--warm-coral);
}

/* ----------------------------------------------------------------
   Collapsible profile editor
   ---------------------------------------------------------------- */

.animeverse-profile-collapsible__header {
	cursor: pointer;
	position: relative;
	transition: background-color 0.2s ease;
	border-radius: 14px;
	user-select: none;
}

.animeverse-profile-collapsible__header:hover {
	background-color: var(--wp--preset--color--blush-white, #FFF5F7);
}

.animeverse-profile-collapsible__header::after {
	content: "";
	position: absolute;
	right: var(--wp--preset--spacing--50, 2rem);
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	width: 12px;
	height: 12px;
	border-right: 2.5px solid var(--wp--preset--color--warm-coral, #F472B6);
	border-bottom: 2.5px solid var(--wp--preset--color--warm-coral, #F472B6);
	transform-origin: center;
	transition: transform 0.3s ease;
	transform: translateY(-50%) rotate(45deg);
}

.animeverse-profile-collapsible.is-expanded .animeverse-profile-collapsible__header::after {
	transform: translateY(-50%) rotate(-135deg);
}

.animeverse-profile-collapsible.is-expanded .animeverse-profile-collapsible__header {
	border-bottom: 1px solid var(--wp--preset--color--border, #F3E8F0);
	border-radius: 14px 14px 0 0;
}

.animeverse-profile-collapsible__body {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.animeverse-profile-collapsible.is-expanded .animeverse-profile-collapsible__body {
	max-height: 2000px;
	opacity: 1;
	padding-top: var(--wp--preset--spacing--40) !important;
	padding-bottom: var(--wp--preset--spacing--50) !important;
}

/* Dark mode — collapsible profile */
[data-theme="dark"] .animeverse-profile-collapsible__header:hover {
	background-color: var(--dm-surface-hover);
}

[data-theme="dark"] .animeverse-profile-collapsible__header::after {
	border-right-color: var(--dm-accent);
	border-bottom-color: var(--dm-accent);
}

[data-theme="dark"] .animeverse-profile-collapsible.is-expanded .animeverse-profile-collapsible__header {
	border-bottom-color: var(--dm-border);
}

/* ----------------------------------------------------------------
   Header items spacing — tighten gap between search and toggle
   ---------------------------------------------------------------- */

.site-header .wp-block-search {
	margin-right: -0.25rem;
	flex-shrink: 1;
	min-width: 0;
}

.site-header .animeverse-dark-mode-toggle {
	margin-left: -0.25rem;
	flex-shrink: 0;
}

/* ----------------------------------------------------------------
   Search block
   ---------------------------------------------------------------- */

.wp-block-search .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 24px;
	padding: 0.6em 1.2em;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--deep-plum);
	background: var(--wp--preset--color--white);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	min-height: 44px;
}

.wp-block-search .wp-block-search__input:focus {
	border-color: var(--wp--preset--color--warm-coral);
	box-shadow: 0 0 0 3px rgba(244, 114, 182, 0.15);
	outline: none;
}

.wp-block-search .wp-block-search__button {
	background: var(--wp--preset--color--warm-coral);
	color: var(--wp--preset--color--white);
	border: none;
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.6em 1.4em;
	cursor: pointer;
	min-height: 44px;
	min-width: 44px;
	transition: background-color 0.2s ease;
}

.wp-block-search .wp-block-search__button:hover {
	background: var(--wp--preset--color--deep-plum);
}

/* ----------------------------------------------------------------
   Pagination
   ---------------------------------------------------------------- */

.wp-block-query-pagination {
	gap: var(--wp--preset--spacing--20);
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.3em 0.7em;
	border-radius: 8px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--plum-grey);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-query-pagination .page-numbers:hover,
.wp-block-query-pagination-numbers .page-numbers:hover {
	background: var(--wp--preset--color--soft-rose);
	color: var(--wp--preset--color--deep-plum);
}

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

/* ----------------------------------------------------------------
   Footer credit styling
   ---------------------------------------------------------------- */

.wp-site-blocks > footer.wp-block-template-part a {
	text-decoration-color: var(--wp--preset--color--pink-stroke);
	text-underline-offset: 0.15em;
}

.wp-site-blocks > footer.wp-block-template-part a:hover {
	text-decoration-color: var(--wp--preset--color--warm-coral);
}

/* ----------------------------------------------------------------
   Utility classes — consolidate repeated inline styles
   ---------------------------------------------------------------- */

/* Section label — uppercase small coral text used for section intros */
.section-label {
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

/* Hero heading — large bold heading with tracking */
.hero-heading {
	font-size: clamp(2rem, 4.5vw, 2.8rem);
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.4;
}

/* Page title — main page heading */
.page-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

/* Page title large — bigger variant for feature pages */
.page-title-lg {
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

/* Section heading — standard section h2 */
.section-heading {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
}

/* Card auth heading — card title at ~1.1rem */
.card-heading {
	font-size: 1.1rem;
	font-weight: 700;
}

/* Subtitle with letter-spacing */
.subtitle-spaced {
	font-size: 0.85rem;
	letter-spacing: 0.12em;
}

/* Body relaxed line-height */
.body-relaxed {
	line-height: 1.9;
}

/* Body normal line-height */
.body-normal {
	line-height: 1.8;
}

/* Small meta text — 0.7rem for bylines and dates */
.text-meta {
	font-size: 0.7rem;
	font-weight: 500;
}

/* Extra-small text */
.text-xs {
	font-size: 0.65rem;
}

/* Small-medium text */
.text-sm-alt {
	font-size: 0.78rem;
}

/* Medium-small text */
.text-md-sm {
	font-size: 0.9rem;
}

/* Large emoji/icon text */
.text-icon-lg {
	font-size: 2.5rem;
}

/* About page icon text */
.text-icon-about {
	font-size: 2.2rem;
	line-height: 1;
}

/* Footer branding text */
.footer-brand {
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

/* Footer tagline */
.footer-tagline {
	font-size: 0.75rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

/* Footer credit text */
.footer-credit {
	font-size: 0.7rem;
	letter-spacing: 0.06em;
}

/* CTA button inline — consistent button padding and sizing */
.btn-cta {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

/* Genre pill — small bordered pill */
.genre-pill {
	font-size: 0.78rem;
	font-weight: 500;
}

/* Genre pill border */
.genre-pill-border {
	padding-top: 0.3em;
	padding-bottom: 0.3em;
	padding-left: 0.9em;
	padding-right: 0.9em;
	border-radius: 20px;
	border-width: 1px;
}

/* Review card genre tag */
.review-tag {
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	padding-left: 0.6em;
	padding-right: 0.6em;
	border-radius: 16px;
}

/* Small badge text */
.badge-text {
	font-size: 0.7rem;
	font-weight: 700;
}

/* Rating text */
.rating-text {
	font-size: 0.8rem;
	font-weight: 700;
}

/* Review card small byline */
.review-byline {
	font-size: 0.75rem;
	font-weight: 500;
}

/* Auth card heading — login/register pages */
.auth-heading {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

/* Dashboard heading */
.dashboard-heading {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

/* Collapsible section heading */
.collapsible-heading {
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
	font-weight: 700;
}

/* X separator in hero */
.hero-x-separator {
	font-size: 0.85rem;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.3em;
}

/* Hero subtitle line */
.hero-subtitle {
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.12em;
	line-height: 2;
}

/* Archive featured review small text */
.archive-meta-sm {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Archive featured genre badge */
.archive-genre-badge {
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 20px;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 10px;
	padding-right: 10px;
}

/* Archive card genre tag */
.archive-card-genre {
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 20px;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 8px;
	padding-right: 8px;
}

/* Single review meta text */
.single-review-meta {
	font-size: 0.8rem;
}

/* Footer description italic */
.footer-description {
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.9;
}

/* Review card small rating suffix */
.rating-suffix {
	font-size: 0.75rem;
}

/* ----------------------------------------------------------------
   Decorative circle utility (used in hero / section backgrounds)
   ---------------------------------------------------------------- */

.deco-circle {
	position: absolute;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--pink-stroke);
	opacity: 0.15;
	pointer-events: none;
}

/* ----------------------------------------------------------------
   Responsive touch targets
   ---------------------------------------------------------------- */

@media (pointer: coarse) {
	.wp-block-navigation-item__content,
	.wp-block-button__link {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
}

/* ---------- Loop layout utilities ---------- */
/* These classes are wired to the wp:query blocks emitted by content/pages and
   templates. Do not rename. Tune colours and spacing to theme.json tokens. */

/* Horizontal scrollable rail */
.wp-block-query.is-style-loop-rail .wp-block-post-template {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: var(--wp--preset--spacing--20);
}
.wp-block-query.is-style-loop-rail .wp-block-post-template > * {
	flex: 0 0 320px;
	scroll-snap-align: start;
}

/* Compact list with hairline row dividers */
.wp-block-query.is-style-loop-list .wp-block-post-template > * {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: var(--wp--preset--spacing--30);
}
.wp-block-query.is-style-loop-list .wp-block-post-template > *:last-child {
	border-bottom: 0;
}

/* Zigzag — flip the columns inside every even entry */
.wp-block-query.is-style-loop-zigzag .wp-block-post-template > *:nth-child(even) .wp-block-columns {
	flex-direction: row-reverse;
}

/* Timeline — vertical line with node markers per entry */
.wp-block-query.is-style-loop-timeline .wp-block-post-template {
	position: relative;
	padding-inline-start: 2.5rem;
}
.wp-block-query.is-style-loop-timeline .wp-block-post-template::before {
	content: '';
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0.5rem;
	width: 2px;
	background: var(--wp--preset--color--pink-stroke);
	opacity: 0.3;
}
.wp-block-query.is-style-loop-timeline .wp-block-post-template > * {
	position: relative;
}
.wp-block-query.is-style-loop-timeline .wp-block-post-template > *::before {
	content: '';
	position: absolute;
	inset-inline-start: -2.25rem;
	inset-block-start: 0.6rem;
	width: 1rem;
	height: 1rem;
	border: 2px solid var(--wp--preset--color--warm-coral);
	border-radius: 50%;
	background: var(--wp--preset--color--blush-white);
}

/* Magazine — first child spans 2 columns of the grid */
.wp-block-query.is-style-loop-magazine .wp-block-post-template > *:first-child {
	grid-column: span 2;
}
@media (max-width: 600px) {
	.wp-block-query.is-style-loop-magazine .wp-block-post-template > *:first-child {
		grid-column: auto;
	}
}

/* 只针对刚才添加了类名的页眉生效，绝对不会影响页脚 */
.site-header{
    position: fixed !important;
   
    width: 100% !important;
    z-index: 999999 !important;
    
    
    /* 必须加背景色，否则滑动时文字会透过来 */
    background-color: #ffffff !important; 
    
    /* 加个阴影让它更明显 */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}



