/*
Theme Name: Starshine
Theme URI: https://example.com/Starshine
Author: Starshine Themes
Description: A magical WordPress theme with customizable fixed sidebar, landing pages, and Y2K aesthetic effects. Features elegant fonts (Cormorant Garamond, Libre Baskerville, Playfair Display), customizable color schemes, falling effects, cursor trails, and WooCommerce support. Perfect for creative portfolios and boutique shops.
Version: 5.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Starshine
Tags: blog, one-column, two-columns, right-sidebar, custom-colors, custom-logo, custom-menu, featured-images, theme-options, translation-ready, block-styles, wide-blocks, e-commerce
*/

/* === CSS Variables (defaults - overridden by dynamic CSS in wp_head) === */
/* These are fallback values only - actual theme colors come from Customizer */

/* === Reset & Base === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding: 0; background: var(--md-bg); color: var(--md-text); font-family: var(--md-body-font); font-size: var(--md-font-size); line-height: 1.7; }
a { color: var(--md-link); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--md-link-hover); }
h1, h2, h3, h4, h5, h6 { font-family: var(--md-heading-font); color: var(--md-heading); font-weight: var(--md-heading-weight); line-height: 1.3; margin: 0 0 0.5em; }
h1 { font-size: 2.5em; } h2 { font-size: 2em; } h3 { font-size: 1.5em; }
img { max-width: 100%; height: auto; display: block; }
p { margin: 0 0 1em; }

/* === Layout === */
.site { min-height: 100vh; display: flex; flex-direction: column; }
.site-header, .Starshine-topbar, .Starshine-hero { flex-shrink: 0; }
.site-content { flex: 1 0 auto; max-width: 1200px; margin: 0 auto; padding: 30px 20px; width: 100%; }
.site-footer { flex-shrink: 0; }
.content-sidebar { display: flex; gap: 40px; }
.content-area { flex: 1; min-width: 0; }

/* Sidebar Positions */
.sidebar-right .content-sidebar { flex-direction: row; }
.sidebar-left .content-sidebar { flex-direction: row-reverse; }
.sidebar-none .content-sidebar { flex-direction: column; }
.sidebar-none .sidebar { display: none; }
.sidebar-none .site-content { max-width: 100%; }
.sidebar-both .content-sidebar { display: grid; grid-template-columns: 250px 1fr 250px; gap: 30px; }
.sidebar-both .sidebar { width: auto; }
.sidebar-both .sidebar-left-area { order: 1; }
.sidebar-both .content-area { order: 2; }
.sidebar-both .sidebar-right-area { order: 3; }

/* === Top Bar === */
.Starshine-topbar { background: var(--md-primary); color: white; text-align: center; padding: 8px 15px; font-size: 0.9em; }

/* === Header === */
.site-header { background: var(--md-header-bg); padding: 20px; text-align: center; }
.site-title { margin: 0; font-size: 2em; }
.site-title a { color: var(--md-heading); }
.site-description { margin: 5px 0 0; opacity: 0.8; font-size: 0.95em; }
.main-nav ul { list-style: none; margin: 15px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.main-nav a { display: block; padding: 8px 15px; color: var(--md-text); font-weight: 500; transition: background 0.2s; }
.main-nav a:hover, .main-nav .current-menu-item > a { background: rgba(255,255,255,0.5); color: var(--md-primary); }
.sticky-header .site-header { position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }

/* === Hero Section === */
.Starshine-hero { background: linear-gradient(135deg, var(--md-secondary), var(--md-primary)); background-size: cover; background-position: center; padding: 80px 20px; text-align: center; color: white; }
.hero-content { max-width: 800px; margin: 0 auto; }
.hero-title { font-size: 3em; margin-bottom: 20px; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.2); }
.hero-text { font-size: 1.2em; opacity: 0.95; }

/* === Blog Layouts === */
.posts-container { display: flex; flex-wrap: wrap; gap: 30px; }
.blog-classic .post-card { width: 100%; display: flex; gap: 25px; align-items: flex-start; }
.blog-classic .post-thumbnail { flex: 0 0 300px; }
.blog-classic .post-content { flex: 1; }
.blog-grid-2 .post-card { width: calc(50% - 15px); }
.blog-grid-3 .post-card { width: calc(33.333% - 20px); }
.blog-cards .post-card { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 15px rgba(0,0,0,0.08); transition: transform 0.2s, box-shadow 0.2s; }
.blog-cards .post-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.12); }
.blog-cards .post-content { padding: 20px; }

/* Masonry Layout - Fixed for sidebar compatibility */
.blog-masonry .posts-container { display: block; column-count: 2; column-gap: 30px; }
.blog-masonry .post-card { display: inline-block; width: 100%; break-inside: avoid; margin-bottom: 30px; }
.blog-masonry.sidebar-none .posts-container { column-count: 3; }
/* Prevent masonry from affecting layout when empty */
.blog-masonry .content-area { display: block; }
.blog-masonry .site-footer { display: block; clear: both; }
@media (max-width: 992px) {
    .blog-masonry .posts-container { column-count: 2; }
}
@media (max-width: 600px) {
    .blog-masonry .posts-container { column-count: 1; }
}

.post-card { margin-bottom: 30px; }
.post-thumbnail img { width: 100%; border-radius: 4px; }
.post-title { margin: 15px 0 10px; }
.post-title a { color: var(--md-heading); }
.post-meta { font-size: 0.85em; color: #888; margin-bottom: 10px; }
.post-meta span { margin-right: 15px; }

/* Minimal Blog Layouts */
.blog-minimal .posts-container, .blog-minimal-narrow .posts-container { display: block; }
.blog-minimal .post-card, .blog-minimal-narrow .post-card { width: 100%; max-width: 800px; margin: 0 auto 40px; text-align: center; }
.blog-minimal-narrow .post-card { max-width: 600px; }
.blog-minimal .post-thumbnail, .blog-minimal-narrow .post-thumbnail { margin-bottom: 20px; }
.blog-minimal .post-content, .blog-minimal-narrow .post-content { text-align: center; }
.blog-minimal .post-title, .blog-minimal-narrow .post-title { font-size: 1.8em; margin: 10px 0 15px; }
.blog-minimal .post-meta, .blog-minimal-narrow .post-meta { justify-content: center; display: flex; gap: 15px; margin-bottom: 15px; }

/* === Sidebar === */
.sidebar { width: 300px; flex-shrink: 0; }
.widget { background: transparent; border: none; padding: 20px; margin-bottom: 25px; }
.widget-title { color: var(--md-heading); margin: 0 0 15px; padding: 0 0 10px; font-size: 1.1em; border-bottom: 2px solid var(--md-primary); }
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget li { padding: 5px 0; border-bottom: 1px dotted var(--md-secondary); }
.widget li:last-child { border: none; }

/* === DAINTY BUTTONS === */
button, .button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, .read-more { display: inline-block; padding: 6px 16px; font-weight: 400; cursor: pointer; transition: all 0.2s; border: none; text-decoration: none; font-size: 0.9em; }

/* Y2K Gradient */
.buttons-y2k button, .buttons-y2k .button, .buttons-y2k input[type="submit"], .buttons-y2k .wp-block-button__link, .buttons-y2k .read-more,
.buttons-y2k .woocommerce a.button, .buttons-y2k .woocommerce button.button, .buttons-y2k .woocommerce input.button {
    background: linear-gradient(180deg, #FFE4EC 0%, #FFB6C1 50%, #FF99AA 100%) !important;
    color: #8B0045 !important;
    border: 2px outset #FF6EC7 !important;
    border-radius: 0 !important;
    box-shadow: 3px 3px 0 #C71585 !important;
}
.buttons-y2k button:hover, .buttons-y2k .read-more:hover, .buttons-y2k .woocommerce a.button:hover {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFE4EC 50%, #FFB6C1 100%) !important;
    border-style: inset !important;
}

/* Y2K Chrome/Metallic */
.buttons-y2k-chrome button, .buttons-y2k-chrome .wp-block-button__link, .buttons-y2k-chrome .read-more {
    background: linear-gradient(180deg, #F0F0F0 0%, #D0D0D0 30%, #A0A0A0 50%, #C0C0C0 70%, #E0E0E0 100%) !important;
    color: #333 !important;
    border: 2px outset #CCC !important;
    box-shadow: 3px 3px 0 #888, inset 0 1px 0 rgba(255,255,255,0.8) !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.5) !important;
}

/* Flat */
.buttons-flat button, .buttons-flat .wp-block-button__link, .buttons-flat .read-more { background: var(--md-btn-bg); color: var(--md-btn-text); border-radius: 4px; }

/* Outline - Dainty Default */
.buttons-outline button, .buttons-outline .wp-block-button__link, .buttons-outline .read-more { background: transparent; color: var(--md-primary); border: 1px solid var(--md-primary); border-radius: 4px; padding: 8px 20px; }
.buttons-outline button:hover, .buttons-outline .read-more:hover { background: var(--md-primary); color: white; }

/* Outline Rounded - Dainty */
.buttons-outline-rounded button, .buttons-outline-rounded .wp-block-button__link, .buttons-outline-rounded .read-more { background: transparent; color: var(--md-primary); border: 1px solid var(--md-primary); border-radius: 25px; padding: 8px 20px; }
.buttons-outline-rounded button:hover, .buttons-outline-rounded .read-more:hover { background: var(--md-primary); color: white; }

/* Minimal Text Link */
.buttons-minimal button, .buttons-minimal .wp-block-button__link, .buttons-minimal .read-more { background: transparent; color: var(--md-primary); border: none; border-bottom: 1px solid var(--md-primary); border-radius: 0; padding: 4px 8px; }
.buttons-minimal button:hover, .buttons-minimal .read-more:hover { border-bottom-width: 2px; }

/* Rounded */
.buttons-rounded button, .buttons-rounded .wp-block-button__link, .buttons-rounded .read-more { background: var(--md-btn-bg); color: var(--md-btn-text); border-radius: 50px; }

/* Glassmorphism */
.buttons-glassmorphism button, .buttons-glassmorphism .wp-block-button__link, .buttons-glassmorphism .read-more {
    background: rgba(255, 110, 199, 0.25) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 110, 199, 0.3) !important;
    border-radius: 12px !important;
    color: var(--md-primary) !important;
}

/* === Footer === */
.site-footer { background: var(--md-footer-bg); padding: 40px 20px 20px; margin-top: auto; width: 100%; }
.no-footer .site-footer { display: none; }
.footer-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; margin: 0 auto 30px; padding: 0 20px; }
.footer-credits { text-align: center; padding-top: 20px; border-top: 1px solid rgba(0,0,0,0.1); font-size: 0.9em; }
.footer-nav ul { list-style: none; padding: 0; display: flex; justify-content: center; gap: 20px; margin: 15px 0; }

/* Social Links with Cute Y2K Emoji Icons */
.social-links { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 15px 0; }
.social-link { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--md-primary); border-radius: 50%; font-size: 1.3em; text-decoration: none; transition: transform 0.3s, background 0.3s, box-shadow 0.3s; box-shadow: 2px 2px 0 rgba(0,0,0,0.1); }
.social-link:hover { transform: scale(1.2) rotate(5deg); box-shadow: 4px 4px 0 rgba(0,0,0,0.15); }

/* Social link hover - simple scale, no gradient */
.social-instagram:hover, .social-tiktok:hover, .social-youtube:hover, .social-pinterest:hover,
.social-spotify:hover, .social-podcast:hover, .social-substack:hover, .social-threads:hover,
.social-discord:hover, .social-reddit:hover, .social-snapchat:hover, .social-etsy:hover,
.social-website:hover, .social-blog:hover, .social-email:hover, .social-patreon:hover {
    background: var(--md-secondary);
}

/* Header Widget Area */
.header-widgets { display: flex; align-items: center; gap: 15px; }
.header-widgets .social-links { margin: 0; }

/* Homepage Widget Areas */
.widget-area-homepage-top, .widget-area-homepage-middle, .widget-area-homepage-bottom { max-width: 1200px; margin: 0 auto; padding: 20px; }
.widget-area-homepage-top { margin-bottom: 20px; }
.widget-area-homepage-middle { margin: 30px auto; }
.widget-area-homepage-bottom { margin-top: 20px; }

/* Popular Posts Widget */
.Starshine-popular-posts { list-style: none; padding: 0; margin: 0; }
.popular-post-item { display: flex; gap: 12px; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted var(--md-secondary); }
.popular-post-item:last-child { border: none; margin: 0; padding: 0; }
.popular-post-thumb { flex-shrink: 0; width: 60px; height: 60px; overflow: hidden; border-radius: 4px; }
.popular-post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.popular-post-content { flex: 1; }
.popular-post-title { display: block; font-weight: 500; margin-bottom: 5px; line-height: 1.3; }
.popular-post-comments { font-size: 0.85em; color: #888; }

/* Categories Widget */
.Starshine-categories-list { display: flex; flex-direction: column; gap: 8px; }
.Starshine-categories-list .category-item { display: block; padding: 8px 12px; background: var(--md-secondary); border-radius: 4px; transition: all 0.2s; }
.Starshine-categories-list .category-item:hover { background: var(--md-primary); color: white; transform: translateX(5px); }
.Starshine-categories-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.Starshine-categories-cloud .category-item { display: inline-block; padding: 5px 12px; background: var(--md-secondary); border-radius: 20px; font-size: 0.9em; transition: all 0.2s; }
.Starshine-categories-cloud .category-item:hover { background: var(--md-primary); color: white; }
.cat-count { opacity: 0.7; font-size: 0.9em; }

/* Recent Posts Widget */
.Starshine-recent-posts { list-style: none; padding: 0; margin: 0; }
.recent-post-item { display: flex; gap: 12px; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted var(--md-secondary); }
.recent-post-item:last-child { border: none; margin: 0; padding: 0; }
.recent-post-thumb { flex-shrink: 0; width: 60px; height: 60px; overflow: hidden; border-radius: 4px; }
.recent-post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.recent-post-content { flex: 1; }
.recent-post-title { display: block; font-weight: 500; margin-bottom: 5px; line-height: 1.3; }
.recent-post-date { font-size: 0.85em; color: #888; }

/* Testimonials Widget */
.Starshine-testimonials-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.Starshine-testimonials-slider { display: flex; overflow-x: auto; gap: 20px; scroll-snap-type: x mandatory; padding: 10px 0; }
.Starshine-testimonials-slider .testimonial-item { flex: 0 0 300px; scroll-snap-align: start; }
.testimonial-item { background: var(--md-secondary); padding: 20px; border-radius: 8px; text-align: center; }
.testimonial-avatar { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; margin-bottom: 15px; border: 3px solid var(--md-primary); }
.testimonial-text { font-style: italic; margin: 0 0 15px; line-height: 1.6; color: var(--md-text); }
.testimonial-author { display: block; font-weight: 600; color: var(--md-heading); }
.testimonial-role { font-weight: 400; opacity: 0.8; }

/* === Marquee === */
.Starshine-marquee { overflow: hidden; white-space: nowrap; padding: 12px 0; font-weight: bold; font-size: 0.95em; }
.Starshine-marquee.marquee-bottom { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; }
.marquee-content { display: inline-block; padding-left: 100%; animation: marqueeScroll linear infinite; }
.marquee-content.direction-right { animation-name: marqueeScrollRight; }
.marquee-content.speed-slow { animation-duration: 25s; }
.marquee-content.speed-medium { animation-duration: 12s; }
.marquee-content.speed-fast { animation-duration: 6s; }
@keyframes marqueeScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }
@keyframes marqueeScrollRight { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* === Effects Containers === */
.md-falling-container, .md-snow-container, .md-twinkle-container, .md-glitter-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; z-index: 99998; }
@keyframes mdFall { 0% { transform: translateY(-100px) rotate(0deg); opacity: 1; } 100% { transform: translateY(100vh) rotate(720deg); opacity: 0.3; } }
.snowball { position: absolute; top: -20px; border-radius: 50%; animation: mdSnowFall linear infinite; }
@keyframes mdSnowFall { 0% { transform: translateY(0) translateX(0); opacity: 1; } 100% { transform: translateY(100vh) translateX(var(--drift, 0)); opacity: 0.5; } }
.twinkle-star { position: absolute; animation: mdTwinkle ease-in-out infinite; }
@keyframes mdTwinkle { 0%, 100% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.2); } }
.glitter-particle { position: absolute; animation: mdGlitter ease-in-out infinite; }
@keyframes mdGlitter { 0%, 100% { opacity: 0; transform: scale(0) rotate(0deg); } 50% { opacity: 1; transform: scale(1) rotate(180deg); } }

/* === Cursor Trail === */
.cursor-trail { will-change: transform; }

/* === Back to Top === */
.md-back-to-top {
    position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px;
    background: linear-gradient(180deg, #FFE4EC 0%, #FF6EC7 100%) !important;
    border: 3px outset #FF6EC7 !important; border-radius: 0 !important;
    color: #8B0045 !important; font-size: 24px; cursor: pointer;
    z-index: 99999; display: none; align-items: center; justify-content: center;
}
.md-back-to-top.visible { display: flex; }

/* === Preloader === */
#Starshine-preloader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--md-bg); display: flex; align-items: center; justify-content: center; z-index: 999999; transition: opacity 0.5s; }
#Starshine-preloader.loaded { opacity: 0; pointer-events: none; }
.preloader-spinner { font-size: 3em; animation: spin 1s linear infinite; }
@keyframes spin { 100% { transform: rotate(360deg); } }

/* === Custom Scrollbar === */
.custom-scrollbar ::-webkit-scrollbar { width: 12px; }
.custom-scrollbar ::-webkit-scrollbar-track { background: var(--md-bg); }
.custom-scrollbar ::-webkit-scrollbar-thumb { background: linear-gradient(var(--md-secondary), var(--md-primary)); border: 2px solid var(--md-bg); border-radius: 6px; }

/* === Image Frames === */
.frame-polaroid img { background: white; padding: 10px 10px 30px; box-shadow: 0 3px 15px rgba(0,0,0,0.15); }
.frame-vintage img { border: 6px double var(--md-secondary); }
.frame-sparkle img { border: 3px solid var(--md-primary); box-shadow: 0 0 15px var(--md-primary); }
.frame-shadow img { box-shadow: 0 10px 30px rgba(0,0,0,0.15); border-radius: 8px; }

/* === Selection === */
::selection { background: var(--md-primary); color: white; }

/* === Forms === */
input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea { width: 100%; padding: 12px 15px; border: 2px solid var(--md-secondary); border-radius: 4px; font-family: inherit; font-size: 1em; transition: border-color 0.2s; }
input:focus, textarea:focus { outline: none; border-color: var(--md-primary); }

/* === Pagination === */
.pagination { display: flex; justify-content: center; gap: 5px; margin-top: 40px; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; background: white; border: 2px solid var(--md-secondary); color: var(--md-text); }
.pagination .current, .pagination a:hover { background: var(--md-primary); border-color: var(--md-primary); color: white; }

/* ========================================= */
/* === WOOCOMMERCE STYLES === */
/* ========================================= */
.woocommerce ul.products { display: grid; gap: 30px; }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }

.woocommerce ul.products li.product { margin: 0 !important; width: 100% !important; text-align: center; padding: 20px; background: white; border: 2px solid var(--md-secondary); transition: transform 0.2s, box-shadow 0.2s; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(255, 110, 199, 0.2); }

.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--md-heading-font); color: var(--md-heading); font-size: 1.2em; }
.woocommerce ul.products li.product .price { color: var(--md-primary) !important; font-weight: bold; font-size: 1.1em; }
.woocommerce ul.products li.product .price del { color: #999; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Sale Badge */
.woocommerce span.onsale { background: var(--md-primary) !important; color: white !important; font-weight: bold; border-radius: 0 !important; padding: 8px 15px !important; }

/* Star Ratings */
.woocommerce .star-rating span::before { color: var(--md-primary) !important; }

/* Single Product */
.woocommerce div.product div.images { margin-bottom: 30px; }
.woocommerce div.product div.images img { border: 3px solid var(--md-secondary); }
.woocommerce div.product p.price { color: var(--md-primary) !important; font-size: 1.5em !important; }
.woocommerce div.product .product_meta { border-top: 2px dotted var(--md-secondary); padding-top: 15px; margin-top: 20px; }

/* Cart */
.woocommerce table.shop_table { border: 2px solid var(--md-secondary) !important; }
.woocommerce table.shop_table th { background: var(--md-secondary); color: var(--md-text); }
.woocommerce table.shop_table td { border-color: var(--md-secondary) !important; }

/* Checkout */
.woocommerce form .form-row label { color: var(--md-heading); font-weight: bold; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { border: 2px solid var(--md-secondary) !important; }
.woocommerce form .form-row input.input-text:focus { border-color: var(--md-primary) !important; }

/* Product Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 20px; border-bottom: 2px solid var(--md-secondary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: none; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--md-text); padding: 12px 20px; display: block; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--md-primary); border-bottom-color: var(--md-primary); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 20px 0; }

/* Related Products & Upsells */
.woocommerce .related.products, .woocommerce .upsells.products { margin-top: 50px; padding-top: 30px; border-top: 2px dotted var(--md-secondary); }
.woocommerce .related.products h2, .woocommerce .upsells.products h2 { font-family: var(--md-heading-font); color: var(--md-heading); margin-bottom: 25px; }

/* Mini Cart Widget */
.woocommerce .widget_shopping_cart .cart_list li { padding: 10px 0; border-bottom: 1px dotted var(--md-secondary); }
.woocommerce .widget_shopping_cart .cart_list li:last-child { border: none; }
.woocommerce .widget_shopping_cart .total { border-top: 2px solid var(--md-secondary); padding-top: 10px; font-weight: bold; }
.woocommerce .widget_shopping_cart .buttons a { display: block; margin: 5px 0; text-align: center; }

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation { background: var(--md-sidebar-bg); border: 2px solid var(--md-secondary); padding: 20px; margin-bottom: 30px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom: 1px dotted var(--md-secondary); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block; padding: 12px 15px; color: var(--md-text); transition: all 0.2s; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover, 
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--md-primary); color: white; }

/* Order Details */
.woocommerce-order-details { background: var(--md-sidebar-bg); border: 2px solid var(--md-secondary); padding: 25px; margin: 20px 0; }
.woocommerce-order-details__title { font-family: var(--md-heading-font); color: var(--md-heading); margin-bottom: 20px; }

/* Notices */
.woocommerce-message, .woocommerce-info { border-left-color: var(--md-primary) !important; background: rgba(255,110,199,0.1); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--md-primary) !important; }
.woocommerce-error { border-left-color: #e74c3c !important; }

/* Quantity Inputs */
.woocommerce .quantity .qty { width: 60px; text-align: center; border: 2px solid var(--md-secondary); padding: 8px; }

/* Add to Cart Button Animation */
.woocommerce a.added_to_cart { display: inline-block; margin-left: 10px; color: var(--md-primary); font-weight: bold; }

/* Empty Cart */
.woocommerce-cart .cart-empty { text-align: center; padding: 50px 20px; }
.woocommerce-cart .return-to-shop { text-align: center; }

/* Coupon Form */
.woocommerce .cart .coupon { display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce .cart .coupon input.input-text { flex: 1; min-width: 150px; }

/* ========================================= */
/* === LEMON SQUEEZY STYLES === */
/* ========================================= */
.lemonsqueezy-button, [class*="lemonsqueezy"] button, .ls-button {
    background: linear-gradient(180deg, #FFE4EC 0%, #FFB6C1 50%, #FF99AA 100%) !important;
    color: #8B0045 !important;
    border: 2px outset #FF6EC7 !important;
    padding: 12px 25px !important;
    font-weight: bold !important;
    cursor: pointer;
}
.lemonsqueezy-button:hover, [class*="lemonsqueezy"] button:hover {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFE4EC 50%, #FFB6C1 100%) !important;
    border-style: inset !important;
}

/* Lemon Squeezy Product Cards */
.ls-product-card, [class*="lemonsqueezy-product"] {
    background: white;
    border: 2px solid var(--md-secondary);
    padding: 20px;
    text-align: center;
    transition: transform 0.2s;
}
.ls-product-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(255, 110, 199, 0.2); }

/* ========================================= */
/* === ETSY EMBED STYLES === */
/* ========================================= */
.etsy-shop-wrapper, [class*="etsy-embed"], .etsy-listings {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}
.etsy-listing-card, [class*="etsy-item"] {
    background: white;
    border: 2px solid var(--md-secondary);
    padding: 15px;
    text-align: center;
    transition: transform 0.2s;
}
.etsy-listing-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(255, 110, 199, 0.2); }
.etsy-listing-card img { border-radius: 4px; margin-bottom: 10px; }
.etsy-listing-card .price { color: var(--md-primary); font-weight: bold; }

/* ========================================= */
/* === CUSTOM WIDGET STYLES === */
/* ========================================= */
.Starshine-about-widget { text-align: center; }
.Starshine-about-widget .about-image img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; margin: 0 auto 15px; border: 3px solid var(--md-primary); }
.Starshine-about-widget .about-bio { margin-bottom: 15px; font-size: 0.95em; }
.Starshine-about-widget .about-button { display: inline-block; margin-top: 10px; }

.Starshine-social-widget { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.Starshine-social-widget .social-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--md-primary); border-radius: 50%; font-size: 1.2em; transition: transform 0.2s, background 0.2s; }
.Starshine-social-widget .social-icon:hover { transform: scale(1.1); background: var(--md-link); }

.Starshine-newsletter-widget { text-align: center; }
.Starshine-newsletter-widget .newsletter-desc { margin-bottom: 15px; }
.Starshine-newsletter-widget .newsletter-freebie { font-size: 0.9em; color: var(--md-primary); margin-top: 10px; }

.Starshine-recent-posts { list-style: none; padding: 0; margin: 0; }
.Starshine-recent-posts .recent-post-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px dotted var(--md-secondary); }
.Starshine-recent-posts .recent-post-item:last-child { border: none; }
.Starshine-recent-posts .recent-post-thumb img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; }
.Starshine-recent-posts .recent-post-title { display: block; font-weight: 500; color: var(--md-text); line-height: 1.3; }
.Starshine-recent-posts .recent-post-title:hover { color: var(--md-primary); }
.Starshine-recent-posts .recent-post-date { font-size: 0.8em; color: #999; }

.Starshine-ad-widget img { max-width: 100%; height: auto; }

.Starshine-instagram-widget .instagram-placeholder { padding: 20px; background: var(--md-secondary); text-align: center; border-radius: 4px; font-size: 0.9em; }
.Starshine-instagram-widget .instagram-follow { text-align: center; margin-top: 10px; }
.Starshine-instagram-widget .instagram-follow a { color: var(--md-primary); font-weight: bold; }

/* ========================================= */
/* === RESPONSIVE === */
/* ========================================= */
@media (max-width: 992px) {
    .content-sidebar { flex-direction: column; }
    .sidebar { width: 100%; }
    .blog-grid-3 .post-card { width: calc(50% - 15px); }
    .blog-masonry { column-count: 2; }
    .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .blog-classic .post-card { flex-direction: column; }
    .blog-classic .post-thumbnail { flex: none; width: 100%; }
    .blog-grid-2 .post-card, .blog-grid-3 .post-card { width: 100%; }
    .blog-masonry { column-count: 1; }
    .hero-title { font-size: 2em; }
    .main-nav ul { flex-direction: column; align-items: center; }
    .woocommerce ul.products.columns-2, .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns: 1fr; }
}

/* ========================================= */
/* === Y2K EFFECTS - ANIMATIONS === */
/* ========================================= */

/* Falling Effect Container */
.md-falling-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99997;
    overflow: hidden;
}

@keyframes mdFall {
    0% { transform: translateY(-50px) rotate(0deg); opacity: 1; }
    100% { transform: translateY(100vh) rotate(360deg); opacity: 0.3; }
}

/* Snow Effect */
.md-snow-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99996;
    overflow: hidden;
}

.md-snow-container .snowball {
    position: absolute;
    top: -20px;
    border-radius: 50%;
    animation: mdSnowfall linear infinite;
}

@keyframes mdSnowfall {
    0% { transform: translateY(-20px) translateX(0); opacity: 1; }
    100% { transform: translateY(100vh) translateX(var(--drift, 20px)); opacity: 0.3; }
}

/* Twinkle Effect */
.md-twinkle-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99995;
}

.md-twinkle-container .twinkle-star {
    position: absolute;
    animation: mdTwinkle ease-in-out infinite;
}

@keyframes mdTwinkle {
    0%, 100% { opacity: 0.2; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.2); }
}

/* Glitter Effect */
.md-glitter-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99994;
}

.md-glitter-container .glitter-particle {
    position: absolute;
    animation: mdGlitter ease-in-out infinite;
}

@keyframes mdGlitter {
    0%, 100% { opacity: 0; transform: scale(0.5) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.3) rotate(180deg); }
}

/* Cursor Trail Particles */
.md-cursor-particle {
    position: fixed;
    pointer-events: none;
    z-index: 999999;
    line-height: 1;
    margin: 0;
    padding: 0;
    text-shadow: 0 0 5px currentColor;
}

/* Back to Top Button */
.md-back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: linear-gradient(180deg, #FFE4EC 0%, #FFB6C1 50%, #FF99AA 100%);
    color: #8B0045;
    border: 3px outset #FF6EC7;
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background 0.2s;
    z-index: 99990;
    box-shadow: 0 4px 15px rgba(255, 110, 199, 0.4);
}

.md-back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.md-back-to-top:hover {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFE4EC 50%, #FFB6C1 100%);
    border-style: inset;
    transform: translateY(-3px);
}

/* Preloader */
#Starshine-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--md-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    transition: opacity 0.5s;
}

#Starshine-preloader.loaded {
    opacity: 0;
    pointer-events: none;
}

.preloader-content {
    text-align: center;
}

.preloader-spinner {
    font-size: 3em;
    animation: mdSpin 1s linear infinite;
}

@keyframes mdSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Marquee */
.Starshine-marquee {
    padding: 10px 0;
    overflow: hidden;
    white-space: nowrap;
}

.marquee-content {
    display: inline-block;
    padding-left: 100%;
    animation: mdMarquee linear infinite;
}

.marquee-content.speed-slow { animation-duration: 30s; }
.marquee-content.speed-medium { animation-duration: 20s; }
.marquee-content.speed-fast { animation-duration: 10s; }
.marquee-content.direction-right { animation-direction: reverse; }

@keyframes mdMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}

/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar { width: 12px; }
.custom-scrollbar::-webkit-scrollbar-track { background: var(--md-secondary); }
.custom-scrollbar::-webkit-scrollbar-thumb { background: linear-gradient(var(--md-primary), var(--md-link)); border-radius: 6px; border: 2px solid var(--md-secondary); }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--md-link); }

/* Image Frames */
.frame-polaroid img { background: white; padding: 10px 10px 30px; box-shadow: 0 4px 15px rgba(0,0,0,0.15); transform: rotate(-2deg); }
.frame-vintage img { border: 8px solid #f5f0e6; box-shadow: inset 0 0 10px rgba(0,0,0,0.1), 0 4px 15px rgba(0,0,0,0.1); }
.frame-sparkle img { box-shadow: 0 0 20px var(--md-primary), 0 0 40px rgba(255,110,199,0.3); }
.frame-shadow img { box-shadow: 0 10px 40px rgba(0,0,0,0.15); }
.frame-rounded img { border-radius: 20px; }
.frame-tape img { position: relative; }
.frame-tape img::before { content: ''; position: absolute; top: -10px; left: 50%; transform: translateX(-50%) rotate(-3deg); width: 80px; height: 25px; background: rgba(255,255,200,0.8); }
.frame-stamp img { border: 3px dashed var(--md-secondary); padding: 5px; }

/* ========================================= */
/* === SHOP CAROUSEL / PRODUCT GRID === */
/* ========================================= */
.Starshine-shop-widget { margin: 20px 0; }
.shop-grid { display: grid; gap: 20px; }
.shop-grid-2 { grid-template-columns: repeat(2, 1fr); }
.shop-grid-3 { grid-template-columns: repeat(3, 1fr); }
.shop-grid-4 { grid-template-columns: repeat(4, 1fr); }
.shop-grid-5 { grid-template-columns: repeat(5, 1fr); }
.shop-grid-6 { grid-template-columns: repeat(6, 1fr); }

.shop-product-link {
    display: block;
    text-align: center;
    padding: 15px;
    background: white;
    border: 2px solid var(--md-secondary);
    border-radius: 8px;
    transition: transform 0.2s, box-shadow 0.2s;
    text-decoration: none;
    color: var(--md-text);
}
.shop-product-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(255, 110, 199, 0.2);
    border-color: var(--md-primary);
}
.shop-product-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 10px;
}
.shop-product-name {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: var(--md-heading);
}
.shop-product-price {
    display: block;
    color: var(--md-primary);
    font-weight: bold;
    font-size: 1.1em;
}
.shop-product-source {
    display: block;
    font-size: 0.75em;
    color: #999;
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Carousel navigation */
.shop-carousel .swiper-button-prev,
.shop-carousel .swiper-button-next {
    color: var(--md-primary);
}
.shop-carousel .swiper-button-prev:after,
.shop-carousel .swiper-button-next:after {
    font-size: 20px;
}

@media (max-width: 768px) {
    .shop-grid-3, .shop-grid-4, .shop-grid-5, .shop-grid-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .shop-grid { grid-template-columns: 1fr; }
}

/* ========================================= */
/* === ETSY & LEMON SQUEEZY SHORTCODES === */
/* ========================================= */
.Starshine-etsy-embed, .Starshine-lemon-embed {
    margin: 30px 0;
    padding: 30px;
    background: linear-gradient(135deg, var(--md-bg) 0%, white 100%);
    border: 2px solid var(--md-secondary);
    border-radius: 12px;
    text-align: center;
}
.Starshine-etsy-embed h3, .Starshine-lemon-embed h3 {
    color: var(--md-heading);
    margin-bottom: 15px;
}
.Starshine-etsy-embed .shop-link, .Starshine-lemon-embed .shop-link {
    display: inline-block;
    padding: 12px 30px;
    background: linear-gradient(180deg, #FFE4EC 0%, #FFB6C1 50%, #FF99AA 100%);
    color: #8B0045;
    border: 2px outset #FF6EC7;
    border-radius: 25px;
    font-weight: bold;
    text-decoration: none;
    transition: all 0.2s;
}
.Starshine-etsy-embed .shop-link:hover, .Starshine-lemon-embed .shop-link:hover {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFE4EC 50%, #FFB6C1 100%);
    border-style: inset;
    transform: translateY(-2px);
}

/* ========================================= */
/* === SPARKLE PRELOADER === */
/* ========================================= */
#Starshine-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--md-bg, #FFF0F5);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s, visibility 0.5s;
}
#Starshine-preloader.loaded {
    opacity: 0;
    visibility: hidden;
}
.preloader-sparkles {
    position: relative;
    width: 150px;
    height: 150px;
}
.preloader-sparkle {
    position: absolute;
    animation: sparkle-pulse 1.5s ease-in-out infinite;
    opacity: 0;
}
@keyframes sparkle-pulse {
    0%, 100% { opacity: 0; transform: scale(0.5); }
    50% { opacity: 1; transform: scale(1.2); }
}
.preloader-text {
    margin-top: 20px;
    color: var(--md-text, #4A4A4A);
    font-size: 0.9em;
    animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* ========================================= */
/* === MARQUEE WITH HTML SUPPORT === */
/* ========================================= */
.Starshine-marquee {
    overflow: hidden;
    white-space: nowrap;
    padding: 10px 0;
}
.marquee-content {
    display: inline-block;
    animation: marquee-scroll 20s linear infinite;
}
.marquee-content.speed-slow { animation-duration: 30s; }
.marquee-content.speed-fast { animation-duration: 10s; }
.marquee-content.direction-right { animation-direction: reverse; }
@keyframes marquee-scroll {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}
/* Marquee HTML support - images and glow */
.marquee-content img {
    display: inline-block;
    height: 1.5em;
    width: auto;
    vertical-align: middle;
    margin: 0 10px;
}
.marquee-glow {
    text-shadow: 0 0 10px currentColor, 0 0 20px currentColor, 0 0 30px currentColor;
}
.marquee-content .glow {
    text-shadow: 0 0 10px currentColor, 0 0 20px currentColor;
}
.marquee-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

/* ===================================================================
   Y2K / NEOCITIES / WEB 1.0 RETRO STYLES
   Add class "y2k-mode" to body for full retro experience
   =================================================================== */

/* Y2K Mode - Core Styling */
.y2k-mode {
    background: linear-gradient(180deg, #1a0a2e 0%, #16213e 50%, #0f3460 100%) !important;
    background-attachment: fixed !important;
}

.y2k-mode::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23FF1493' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: -1;
}

/* Y2K Pixel Borders */
.y2k-border {
    border: 3px solid;
    border-image: linear-gradient(135deg, #FF1493, #00CED1, #FF1493) 1;
    box-shadow: 
        4px 4px 0 #FF1493,
        -2px -2px 0 #00CED1;
}

.y2k-frame {
    border: 4px ridge #C0C0C0;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    box-shadow: 
        inset 2px 2px 0 rgba(255,255,255,0.2),
        inset -2px -2px 0 rgba(0,0,0,0.3),
        5px 5px 0 rgba(0,0,0,0.5);
    padding: 20px;
    margin: 15px;
}

/* Y2K Glow Text */
.y2k-glow {
    text-shadow: 
        0 0 5px #FF1493,
        0 0 10px #FF1493,
        0 0 20px #FF1493,
        0 0 40px #00CED1;
    animation: y2kGlow 2s ease-in-out infinite alternate;
}

@keyframes y2kGlow {
    from { text-shadow: 0 0 5px #FF1493, 0 0 10px #FF1493, 0 0 20px #FF1493; }
    to { text-shadow: 0 0 10px #00CED1, 0 0 20px #00CED1, 0 0 40px #FF1493, 0 0 80px #FF1493; }
}

/* Y2K Rainbow/Gradient Text */
.y2k-rainbow {
    background: linear-gradient(90deg, #FF1493, #00CED1, #87CEEB, #F9A8D4, #FF1493);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: y2kRainbow 3s linear infinite;
}

@keyframes y2kRainbow {
    to { background-position: 200% center; }
}

/* Y2K Blink (use sparingly!) */
.y2k-blink {
    animation: y2kBlink 1s step-end infinite;
}

@keyframes y2kBlink {
    50% { opacity: 0; }
}

/* Y2K Tables (Web 1.0 style) */
.y2k-table {
    border: 3px ridge #C0C0C0;
    border-collapse: separate;
    border-spacing: 2px;
    background: #1a1a2e;
}

.y2k-table th {
    background: linear-gradient(180deg, #FF1493, #C71585);
    color: white;
    border: 2px outset #FF69B4;
    padding: 8px 15px;
    text-shadow: 1px 1px 0 #000;
}

.y2k-table td {
    background: linear-gradient(180deg, #2a2a4e, #1a1a2e);
    border: 1px inset #444;
    padding: 8px 15px;
    color: #C0C0C0;
}

/* Y2K Dividers */
.y2k-divider {
    height: 3px;
    background: linear-gradient(90deg, transparent, #FF1493, #00CED1, #FF1493, transparent);
    margin: 20px 0;
    border: none;
}

.y2k-divider-stars {
    text-align: center;
    margin: 20px 0;
    color: #F9A8D4;
    letter-spacing: 5px;
}

.y2k-divider-stars::before {
    content: '★ ✦ ★ ✦ ★ ✦ ★ ✦ ★';
}

/* Y2K Cards/Boxes */
.y2k-card {
    background: linear-gradient(135deg, rgba(26,26,46,0.9), rgba(22,33,62,0.9));
    border: 2px solid #00CED1;
    border-radius: 0;
    box-shadow: 
        0 0 10px rgba(0,206,209,0.3),
        inset 0 0 20px rgba(255,20,147,0.1);
    padding: 20px;
    position: relative;
}

.y2k-card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #FF1493, #00CED1, #87CEEB, #F9A8D4);
    z-index: -1;
    filter: blur(5px);
    opacity: 0.5;
}

/* Y2K Navigation */
.y2k-nav {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 10px;
    background: linear-gradient(180deg, #2a2a4e, #1a1a2e);
    border: 2px groove #444;
}

.y2k-nav a {
    padding: 8px 20px;
    background: linear-gradient(180deg, #3a3a6e, #2a2a4e);
    border: 2px outset #555;
    color: #00CED1 !important;
    text-decoration: none;
    font-weight: bold;
    text-shadow: 1px 1px 0 #000;
}

.y2k-nav a:hover {
    background: linear-gradient(180deg, #FF1493, #C71585);
    border-style: inset;
    color: white !important;
}

/* Y2K Image Frames */
.y2k-img-frame {
    border: 4px ridge #C0C0C0;
    padding: 5px;
    background: linear-gradient(135deg, #1a1a2e, #0a0a1e);
    box-shadow: 
        inset 2px 2px 0 rgba(255,255,255,0.1),
        4px 4px 0 rgba(0,0,0,0.5);
}

.y2k-img-frame img {
    display: block;
    border: 1px solid #333;
}

/* Y2K Sparkle Icon */
.y2k-sparkle::after {
    content: ' ✨';
}

/* Y2K Under Construction */
.y2k-construction {
    background: repeating-linear-gradient(
        45deg,
        #FFD700,
        #FFD700 10px,
        #000 10px,
        #000 20px
    );
    padding: 3px;
}

.y2k-construction-inner {
    background: #1a1a2e;
    padding: 20px;
    text-align: center;
    color: #FFD700;
}

/* Y2K Scrolling Container */
.y2k-scroll-box {
    max-height: 200px;
    overflow-y: auto;
    background: #0a0a1e;
    border: 2px inset #333;
    padding: 10px;
    font-family: "Courier New", monospace;
    color: #00FF00;
    font-size: 0.9em;
}

/* Y2K "Hit Counter" Style */
.y2k-counter {
    display: inline-flex;
    background: #000;
    border: 2px inset #333;
    padding: 5px 10px;
    font-family: "Courier New", monospace;
    color: #00FF00;
    letter-spacing: 3px;
}

/* Y2K Webring Banner */
.y2k-webring {
    text-align: center;
    background: linear-gradient(180deg, #2a2a4e, #1a1a2e);
    border: 3px ridge #C0C0C0;
    padding: 15px;
    margin: 20px auto;
    max-width: 500px;
}

.y2k-webring-title {
    color: #F9A8D4;
    font-weight: bold;
    margin-bottom: 10px;
    text-shadow: 1px 1px 0 #000;
}

.y2k-webring-links a {
    color: #00CED1;
    margin: 0 15px;
}

/* Cosmicore Theme Enhancements */
body.color-cosmicore {
    background: linear-gradient(180deg, #0D0D1A 0%, #1A1A2E 50%, #12122A 100%);
}

body.color-cosmicore .site-header {
    background: linear-gradient(180deg, #1A1A2E, #12122A);
    border-bottom: 2px solid #00CED1;
}

body.color-cosmicore .widget {
    background: rgba(26,26,46,0.8);
    border: 2px solid #00CED1;
    box-shadow: 0 0 15px rgba(0,206,209,0.2);
}

body.color-cosmicore .widget-title {
    background: linear-gradient(90deg, #FF1493, #00CED1);
}

body.color-cosmicore .site-footer {
    background: linear-gradient(180deg, #12122A, #0D0D1A);
    border-top: 2px solid #FF1493;
}

/* Responsive Y2K */
@media (max-width: 768px) {
    .y2k-frame { margin: 10px 5px; padding: 15px; }
    .y2k-nav { gap: 3px; }
    .y2k-nav a { padding: 6px 12px; font-size: 0.9em; }
}

/* ===========================================
   EFFECTS - Cursor Trail, Falling, Snow, etc.
   =========================================== */

/* Cursor Trail Particles */
.md-cursor-particle {
    position: fixed !important;
    pointer-events: none !important;
    z-index: 999999 !important;
    user-select: none;
    will-change: transform, opacity;
}

/* Falling Effects Container */
.md-falling-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99998;
    overflow: hidden;
}

@keyframes mdFall {
    0% { transform: translateY(-50px) rotate(0deg); }
    100% { transform: translateY(100vh) rotate(360deg); }
}

/* Snow Container */
.md-snow-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99997;
    overflow: hidden;
}

.md-snow-container .snowball {
    position: absolute;
    top: -20px;
    border-radius: 50%;
    animation: mdSnowfall linear infinite;
}

@keyframes mdSnowfall {
    0% { transform: translateY(-20px) translateX(0); opacity: 1; }
    100% { transform: translateY(100vh) translateX(var(--drift, 0)); opacity: 0.3; }
}

/* Twinkle Stars Container */
.md-twinkle-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99996;
    overflow: hidden;
}

.md-twinkle-container .twinkle-star {
    position: absolute;
    animation: mdTwinkle ease-in-out infinite;
}

@keyframes mdTwinkle {
    0%, 100% { opacity: 0.2; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.2); }
}

/* Glitter Container */
.md-glitter-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99995;
    overflow: hidden;
}

.md-glitter-container .glitter-particle {
    position: absolute;
    animation: mdGlitter ease-in-out infinite;
}

@keyframes mdGlitter {
    0%, 100% { opacity: 0; transform: scale(0.5) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.5) rotate(180deg); }
}

/* Back to Top Button */
.md-back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--md-primary, #FF6EC7);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 9999;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.md-back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.md-back-to-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* Preloader */
#Starshine-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--md-bg, #FFF0F5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    transition: opacity 0.5s ease;
}

#Starshine-preloader.loaded {
    opacity: 0;
    pointer-events: none;
}

#Starshine-preloader::after {
    content: '✨';
    font-size: 48px;
    animation: preloaderSpin 1s ease-in-out infinite;
}

@keyframes preloaderSpin {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.2) rotate(180deg); }
}
