/*
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.8
Requires PHP: 7.2
Version: 1.3
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
*/

/* === General Styles === */
a {
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover,
a:focus {
    text-decoration-color: var(--wp--preset--color--primary, #0073aa);
}

:where(.wp-site-blocks *:focus) {
    outline: 2px solid var(--wp--preset--color--primary, #0073aa);
    outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
    text-wrap: pretty;
}

.more-link {
    display: block;
    margin-top: var(--wp--preset--spacing--20, 1rem);
}

/* === Header and Navigation === */
.site-header {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    position: sticky !important; /* Ensure sticky behavior */
    top: 0;
    z-index: 1000;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* Scroll effect for header */
.site-header.scrolled {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.site-header .wp-block-site-title a {
    color: var(--wp--preset--color--contrast, #000000);
    text-decoration: none;
    font-weight: 700;
    transition: color 0.2s ease, transform 0.2s ease;
}

.site-header .wp-block-site-title a:hover,
.site-header .wp-block-site-title a:focus {
    color: var(--wp--preset--color--primary, #0073aa);
    transform: scale(1.02);
}

.main-navigation .wp-block-navigation__container {
    display: flex;
    gap: var(--wp--preset--spacing--20, 1rem);
    align-items: center;
}

.main-navigation .wp-block-navigation-item__content {
    color: var(--wp--preset--color--contrast, #000000);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.main-navigation .wp-block-navigation-item__content:hover,
.main-navigation .wp-block-navigation-item__content:focus {
    background-color: var(--wp--preset--color--primary, #0073aa);
    color: var(--wp--preset--color--base, #ffffff);
    transform: translateY(-1px);
}

.main-navigation .wp-block-navigation-item__content:active {
    transform: translateY(0);
}

.products-submenu {
    position: relative;
}

.products-submenu .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--base, #ffffff);
    border: 1px solid var(--wp--preset--color--contrast, #000000);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: var(--wp--preset--spacing--10, 0.5rem);
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    z-index: 999; /* Ensure submenu stays above content */
}

.products-submenu:hover .wp-block-navigation__submenu-container,
.products-submenu:focus-within .wp-block-navigation__submenu-container {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.products-submenu > .wp-block-navigation-item__content::after {
    content: '\25BC';
    font-size: 0.8rem;
    margin-left: 6px;
    display: inline-block;
    transition: transform 0.2s ease;
}

.products-submenu:hover > .wp-block-navigation-item__content::after,
.products-submenu:focus-within > .wp-block-navigation-item__content::after {
    transform: rotate(180deg);
}

.product-link .wp-block-navigation-item__content {
    padding: 8px 20px 8px 24px;
}

.product-link .wp-block-navigation-item__content:hover,
.product-link .wp-block-navigation-item__content:focus {
    background-color: var(--wp--preset--color--primary, #0073aa);
    color: var(--wp--preset--color--base, #ffffff);
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
    margin-bottom: 4px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
    outline-offset: 2px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    outline-offset: 0;
}

/* === Mobile Styles === */
@media (max-width: 768px) {
    .site-header {
        position: sticky !important; /* Reinforce sticky behavior */
        top: 0;
    }

    .site-header .wp-block-group.alignwide {
        flex-direction: column;
        align-items: flex-start;
    }

    .navigation-wrapper {
        width: 100%;
        margin-top: var(--wp--preset--spacing--10, 0.5rem);
    }

    .main-navigation .wp-block-navigation__container {
        flex-direction: column;
        width: 100%;
    }

    .main-navigation .wp-block-navigation-item {
        width: 100%;
        text-align: center;
    }

    .main-navigation .wp-block-navigation-item__content,
    .product-link .wp-block-navigation-item__content {
        padding: 12px;
        font-size: 1.1rem;
    }

    .products-submenu .wp-block-navigation__submenu-container {
        position: static;
        width: 100%;
        border: none;
        box-shadow: none;
        padding: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
    }

    .products-submenu[aria-expanded="true"] .wp-block-navigation__submenu-container {
        display: block;
        animation: slideDown 0.3s ease-in-out;
    }

    .products-submenu > .wp-block-navigation-item__content::after {
        content: '\25B6';
    }

    .products-submenu[aria-expanded="true"] > .wp-block-navigation-item__content::after {
        transform: rotate(90deg);
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* === Dark Mode Support === */
@media (prefers-color-scheme: dark) {
    .site-header {
        background: linear-gradient(to bottom, rgba(30, 30, 30, 0.98), rgba(30, 30, 30, 0.9));
    }

    .products-submenu .wp-block-navigation__submenu-container {
        background-color: var(--wp--preset--color--base, #1e1e1e);
        border-color: var(--wp--preset--color--contrast, #ffffff);
    }
}