/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
@import url('https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400&family=Kode+Mono&family=VT323&family=Share+Tech+Mono&display=swap');

a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

/*
 * Terminal-style Glitch Effect
 * Character shuffle technique for hacking terminal effect
 */

/* Hide all possible titles on the home page */
.page-id-32 .wp-block-post-title,
.page-id-32 .post-title,
.page-id-32 h1.wp-block-post-title,
.page-id-32 entry-title,
.page-id-32 .page-title {
	display: none !important;
	visibility: hidden !important;
}

/* Force the HTML block to take full width */
/* Center the Glitch Text on the Home Page (ID 32) */
.page-id-32 .entry-content.wp-block-post-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; 
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Glitch text - aggressive centering and sizing */
.glitch-text {
	font-size: 18vw !important;
	font-family: 'Kode Mono', monospace !important;
	font-weight: 400 !important;

	color: inherit !important;
	/* Viewport-relative centering */
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

	/* Force size and layout */
    width: 90vw !important;
    font-size: 20vw !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

	display: block !important;
	letter-spacing: 1rem;
	line-height: 1.0 !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
	animation: opacity-flicker 0.15s infinite;
    --anim-duration: 2s;      /* Base speed */
    --anim-play-state: running; /* running or paused */
    --shift-x: 0px;           /* JS can jerk this left/right */
    --shift-y: 0px;           /* JS can jerk this up/down */
    --ghost-opacity: 0.7;     /* Base opacity */
}

/* Individual span elements for character-level glitching */
.glitch-text span {
	display: inline-block;
	min-width: 0.6em;
}

/* Opacity flicker animation for dying monitor effect */
@keyframes opacity-flicker {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.95; }
	75% { opacity: 0.95; }
}

.glitch-text::before,
.glitch-text::after {
    content: attr(data-value);
    position: absolute;
    
    /* Centering + JS Interrupt Offsets */
    top: 50%;
    left: 0;
    transform: translate(var(--shift-x), calc(-50% + var(--shift-y)));
    
    width: 100%;
    height: 100%;
    opacity: var(--ghost-opacity);
    
    /* The Cyclical Pattern */
    animation: glitch-scan var(--anim-duration) infinite linear alternate-reverse;
    animation-play-state: var(--anim-play-state);
}

/* Page header styles using Kode Mono font (glitch font) */
.page-id-14 .wp-block-post-title,
.page-id-14 h1.wp-block-post-title,
.page-id-14 .post-title,
.page-id-14 .entry-title,
.page-id-14 .page-title,
.page-id-25 .wp-block-post-title,
.page-id-25 h1.wp-block-post-title,
.page-id-25 .post-title,
.page-id-25 .entry-title,
.page-id-25 .page-title,
.page-id-19 .wp-block-post-title,
.page-id-19 h1.wp-block-post-title,
.page-id-19 .post-title,
.page-id-19 .entry-title,
.page-id-19 .page-title,
.page-id-21 .wp-block-post-title,
.page-id-21 h1.wp-block-post-title,
.page-id-21 .post-title,
.page-id-21 .entry-title,
.page-id-21 .page-title,
.page-id-23 .wp-block-post-title,
.page-id-23 h1.wp-block-post-title,
.page-id-23 .post-title,
.page-id-23 .entry-title,
.page-id-23 .page-title,
.page-id-25 .wp-block-post-title,
.page-id-25 h1.wp-block-post-title,
.page-id-25 .post-title,
.page-id-25 .entry-title,
.page-id-25 .page-title,
.page-id-38 .wp-block-post-title,
.page-id-38 h1.wp-block-post-title,
.page-id-38 .post-title,
.page-id-38 .entry-title,
.page-id-38 .page-title,
.page-id-52 .wp-block-post-title,
.page-id-52 h1.wp-block-post-title,
.page-id-52 .post-title,
.page-id-52 .entry-title,
.page-id-52 .page-title,
.page-id-55 .wp-block-post-title,
.page-id-55 h1.wp-block-post-title,
.page-id-55 .post-title,
.page-id-55 .entry-title,
.page-id-55 .page-title,
.page-id-63 .wp-block-post-title,
.page-id-87 .wp-block-post-title,
.page-id-93 .wp-block-post-title,
.page-id-98 .wp-block-post-title,
.page-id-103 .wp-block-post-title,
.page-id-108 .wp-block-post-title,
.page-id-113 .wp-block-post-title,
.page-id-118 .wp-block-post-title,
.page-id-123 .wp-block-post-title,
.page-id-129 .wp-block-post-title,
.page-id-134 .wp-block-post-title,
.page-id-141 .wp-block-post-title,
.page-id-146 .wp-block-post-title,
.page-id-151 .wp-block-post-title,
.page-id-156 .wp-block-post-title,
.page-id-161 .wp-block-post-title,
.page-id-166 .wp-block-post-title,
.page-id-171 .wp-block-post-title,
.page-id-176 .wp-block-post-title,
.page-id-181 .wp-block-post-title,
.page-id-186 .wp-block-post-title,
.page-id-191 .wp-block-post-title,
.page-id-196 .wp-block-post-title,
.page-id-201 .wp-block-post-title,
.page-id-201 h1.wp-block-post-title,
.page-id-201 .post-title,
.page-id-201 .entry-title,
.page-id-201 .page-title,
.page-id-206 .wp-block-post-title,
.page-id-206 h1.wp-block-post-title,
.page-id-206 .post-title,
.page-id-206 .entry-title,
.page-id-206 .page-title,
.page-id-212 .wp-block-post-title,
.page-id-212 h1.wp-block-post-title,
.page-id-212 .post-title,
.page-id-212 .entry-title,
.page-id-212 .page-title,
.page-id-216 .wp-block-post-title,
.page-id-216 h1.wp-block-post-title,
.page-id-216 .post-title,
.page-id-216 .entry-title,
.page-id-216 .page-title,
.page-id-220 .wp-block-post-title,
.page-id-220 h1.wp-block-post-title,
.page-id-220 .post-title,
.page-id-220 .entry-title,
.page-id-220 .page-title,
.page-id-146 h1.wp-block-post-title,
.page-id-146 .post-title,
.page-id-146 .entry-title,
.page-id-146 .page-title,
.page-id-141 h1.wp-block-post-title,
.page-id-141 .post-title,
.page-id-141 .entry-title,
.page-id-141 .page-title,
.page-id-151 h1.wp-block-post-title,
.page-id-151 .post-title,
.page-id-151 .entry-title,
.page-id-151 .page-title,
.page-id-156 h1.wp-block-post-title,
.page-id-156 .post-title,
.page-id-156 .entry-title,
.page-id-156 .page-title,
.page-id-161 h1.wp-block-post-title,
.page-id-161 .post-title,
.page-id-161 .entry-title,
.page-id-161 .page-title,
.page-id-166 h1.wp-block-post-title,
.page-id-166 .post-title,
.page-id-166 .entry-title,
.page-id-166 .page-title,
.page-id-171 h1.wp-block-post-title,
.page-id-171 .post-title,
.page-id-171 .entry-title,
.page-id-171 .page-title,
.page-id-176 h1.wp-block-post-title,
.page-id-176 .post-title,
.page-id-176 .entry-title,
.page-id-176 .page-title,
.page-id-181 h1.wp-block-post-title,
.page-id-181 .post-title,
.page-id-181 .entry-title,
.page-id-181 .page-title,
.page-id-186 h1.wp-block-post-title,
.page-id-186 .post-title,
.page-id-186 .entry-title,
.page-id-186 .page-title,
.page-id-191 h1.wp-block-post-title,
.page-id-191 .post-title,
.page-id-191 .entry-title,
.page-id-191 .page-title,
.page-id-196 h1.wp-block-post-title,
.page-id-196 .post-title,
.page-id-196 .entry-title,
.page-id-196 .page-title,
.page-id-134 h1.wp-block-post-title,
.page-id-134 .post-title,
.page-id-134 .entry-title,
.page-id-134 .page-title,
.page-id-129 h1.wp-block-post-title,
.page-id-129 .post-title,
.page-id-129 .entry-title,
.page-id-129 .page-title,
.page-id-123 h1.wp-block-post-title,
.page-id-123 .post-title,
.page-id-123 .entry-title,
.page-id-123 .page-title,
.page-id-118 h1.wp-block-post-title,
.page-id-118 .post-title,
.page-id-118 .entry-title,
.page-id-118 .page-title,
.page-id-113 h1.wp-block-post-title,
.page-id-113 .post-title,
.page-id-113 .entry-title,
.page-id-113 .page-title,
.page-id-108 h1.wp-block-post-title,
.page-id-108 .post-title,
.page-id-108 .entry-title,
.page-id-108 .page-title,
.page-id-103 h1.wp-block-post-title,
.page-id-103 .post-title,
.page-id-103 .entry-title,
.page-id-103 .page-title,
.page-id-98 h1.wp-block-post-title,
.page-id-98 .post-title,
.page-id-98 .entry-title,
.page-id-98 .page-title,
.page-id-93 h1.wp-block-post-title,
.page-id-93 .post-title,
.page-id-93 .entry-title,
.page-id-93 .page-title,
.page-id-87 h1.wp-block-post-title,
.page-id-87 .post-title,
.page-id-87 .entry-title,
.page-id-87 .page-title,
.page-id-63 h1.wp-block-post-title,
.page-id-63 .post-title,
.page-id-63 .entry-title,
.page-id-63 .page-title {
	font-family: 'Kode Mono', monospace !important;
	font-weight: 400 !important;
	letter-spacing: 0.05em !important;
}

/* The Scanline Pattern (Move up and down) */
@keyframes glitch-scan {
    0% { clip-path: inset(0 0 90% 0); }
    20% { clip-path: inset(40% 0 60% 0); }
    40% { clip-path: inset(40% 0 20% 0); }
    60% { clip-path: inset(90% 0 40% 0); }
    80% { clip-path: inset(60% 0 5% 0); }
    100% { clip-path: inset(90% 0 0 0); }
}

.glitch-text::before {
    color: #0ff;
    z-index: -1;
    left: -2px; /* Base offset */
    text-shadow: 2px 0 #ff00ff;
}

/* Page title glitch effect - subtle single character glitch */
.page-title-glitch {
	position: relative;
	display: block;
	font-family: 'Kode Mono', monospace !important;
	font-weight: 400 !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
    
    /* CHANGED: Use standard breaking rules */
    word-break: normal !important; 
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* CHANGED: Switch to 'inline' so the browser sees them as text, not boxes */
.page-title-glitch span,
.page-title-glitch .glitch-char {
    display: inline !important; /* This allows the text to wrap at spaces naturally */
    transition: color 0.05s;
}

.glitch-text::after {
    color: #f0f;
    z-index: -2;
    left: 2px; /* Base offset */
    text-shadow: -2px 0 #00ffff;
}

/* Navigation dropdown submenu styles */
.wp-block-navigation-item.has-child {
	position: relative;
}

.wp-block-navigation__submenu-container {
    margin-top: 15px !important; /* Adjust this value for a larger/smaller gap */
    position: absolute;
}

/* 2. The "Invisible Bridge" */
/* This invisible element fills the gap so the mouse stays 'inside' the menu */
.wp-block-navigation__submenu-container::before {
    content: "";
    position: absolute;
    top: -15px;      /* Matches the margin-top exactly */
    left: 0;
    width: 100%;
    height: 15px;    /* Matches the margin-top exactly */
    background: transparent;
    display: block;
}

.wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	display: none;
	position: absolute;
	top: 80%;
	left: 300;
	z-index: 1000;
	min-width: 200px;
	background-color: var(--wp--preset--color--base, #fff);
	border: 1px solid var(--wp--preset--color--contrast, #000);
	list-style: none;
	margin: 0;
}

.wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
	display: block;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item {
	display: block;
	margin: 0;
}

.wp-block-navigation__submenu-container .wp-block-navigation-link__content {
	display: block;
	padding: 0.4em 1em;
	white-space: nowrap;
	text-decoration: none;

}

/* 2. The Links inside the box */
.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: 0.875rem;


}

.wp-block-navigation__submenu-container .wp-block-navigation-link__content:hover {
	background-color: var(--wp--preset--color--contrast, #000);
	color: var(--wp--preset--color--base, #fff);
}

/* SOLO (REMASTERED) page - two column layout */
.page-id-38 .wp-block-group > .wp-block-post-title {
	margin-bottom: var(--wp--preset--spacing--60) !important;
}

.page-id-38 .wp-block-columns {
	gap: 2em;
}

.page-id-38 .wp-block-column {
	flex-basis: 50% !important;
	flex-grow: 1;
}

.page-id-38 .wp-block-column iframe {
	max-width: 100%;
}

.page-id-38 .wp-block-column p {
	font-size: 1rem; /* 1pt smaller than default */
}

/* Increase page content width for body only (not header/footer) */
.wp-block-post-content {
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.wp-block-post-content > * {
	max-width: 100% !important;
}