/*
Theme Name: PluginPress Shell
Theme URI: https://example.com/pluginpress-shell
Author: Gemini
Author URI: https://gemini.google.com
Description: A lightweight, high-performance shell theme designed to work seamlessly with WTV custom plugins. It provides a basic structure, allowing the plugins to control the main content areas without conflicts.
Version: 1.3.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pluginpress-shell
Tags: lightweight, woocommerce, plugin-companion, high-performance

This is a basic stylesheet. Your plugins provide their own styles.
*/

/* --- Global Styles --- */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f0f2f5;
    margin: 0;
    padding: 0;
}

/* --- Accessibility & SEO Fix --- */
.wtv-screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* --- Layout Container --- */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

/* --- Header & Footer --- */
.site-header, .site-footer {
    background-color: #ffffff;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

/* Removed background and shadow from header branding section */
header#masthead .site-branding {
    padding: 10px 20px !important;
    border-radius: 12px !important;
    transition: padding 0.3s ease;
}

.site-title {
    margin: 0;
}

/* Set logo link text color to black */
header#masthead .site-branding a.site-logo-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    color: #000000 !important;
}

.site-logo {
    flex-shrink: 0;
    transition: width 0.3s ease, height 0.3s ease;
}

.site-logo .cake-layer-1 { fill: #ffc0cb; }
.site-logo .cake-layer-2 { fill: #d2691e; }
.site-logo .cake-icing { fill: #fffdd0; stroke: #e0e0e0; stroke-width: 1; }
.site-logo .candle { fill: #87ceeb; }
.site-logo .flame-outer { fill: #ffac33; }
.site-logo .flame-inner { fill: #ffdd33; }

@keyframes flicker {
  0%, 100% { transform: scaleY(1) rotate(0deg); }
  25% { transform: scaleY(1.05) scaleX(1.1) rotate(-2deg); }
  50% { transform: scaleY(0.95) rotate(2deg); }
  75% { transform: scaleY(1.02) scaleX(0.95) rotate(0deg); }
}

.flame-group {
    transform-origin: 50% 100%;
}

.title-tagline-wrap {
    display: flex;
    flex-direction: column;
}

/* Set title text color to black */
header#masthead .site-branding .site-title span {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    transition: font-size 0.3s ease;
    line-height: 1.2;
}

/* Set tagline text color to black */
.site-tagline {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #000000;
    line-height: 1.4;
    transition: font-size 0.3s ease;
}

.site-footer {
    text-align: center;
    margin-top: 40px;
    color: #666;
}

/* --- Footer Widgets & Menu --- */
.footer-widgets {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.footer-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-navigation a {
    color: #333;
    font-weight: 600;
}

.footer-link-separator {
    color: #ccc;
}


/* --- Navigation Menu (Button Style & Contrast Fix) --- */
.main-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 10px;
}

.main-navigation a {
    text-decoration: none !important;
    color: #333;
    font-weight: 600;
    padding: 8px 15px;
    border-radius: 8px;
    background-color: #f0f2f5;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.07);
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
}

.main-navigation a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.main-navigation .current-menu-item > a {
    background-color: #0d6efd;
    color: #ffffff;
    border-color: #0a58ca;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
}

/* --- Basic Content Styles --- */
h1, h2, h3, h4, h5, h6 {
    color: #000;
}

/* ACCESSIBILITY FIX: Darker link color */
a, a:hover, a:focus, a:active {
    text-decoration: none !important;
    color: #0056b3; /* Darker blue for better contrast */
}

.footer-navigation a:hover, .footer-occasions-nav a:hover {
    color: #003d80; /* Even darker on hover */
}

/* --- Mobile Responsive Styles --- */
@media (max-width: 768px) {
    .site-header {
        flex-direction: column; 
        justify-content: center; 
        align-items: center;
        gap: 20px; 
    }

    header#masthead .site-branding {
        padding: 5px 10px !important;
    }
    header#masthead .site-branding .site-logo {
        width: 35px;
        height: 35px;
    }
    header#masthead .site-branding .site-title span {
        font-size: 20px !important;
        color: #000000 !important;
    }
    .site-tagline {
        font-size: 12px;
        text-align: center;
        color: #000000;
    }

    /* FIX: Center align title and tagline on mobile */
    .title-tagline-wrap {
        align-items: center;
    }

    .main-navigation {
        width: 100%; 
        overflow-x: auto; 
        -webkit-overflow-scrolling: touch; 
    }
    
    .main-navigation ul {
        justify-content: center; 
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .main-navigation::-webkit-scrollbar {
        display: none;
    }
    .main-navigation {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}


/* --- DROPDOWN MENU FIX --- */
/* Hide dropdown by default */
.main-navigation .sub-menu {
    display: none;
    position: absolute;
    background-color: #ffffff;
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
    z-index: 100;
    border-radius: 8px;
    padding: 10px;
    margin-top: 8px;
    min-width: 200px;
    /* FIX: Prevent dropdown from going off-screen */
    right: 0;
    left: auto;
}
/* Show dropdown on parent item hover */
.main-navigation li:hover > .sub-menu {
    display: block;
}
/* Style for items inside the dropdown */
.main-navigation .sub-menu li {
    display: block;
    width: 100%;
}
/* Spacing between dropdown items */
.main-navigation .sub-menu li:not(:last-child) {
    margin-bottom: 8px; /* FIX: Improved spacing */
}
/* Make dropdown links look like buttons */
.main-navigation .sub-menu li a {
    display: block;
    width: 100%;
    box-sizing: border-box; /* Include padding in width */
    text-align: center;
    padding: 10px 15px;
    background-color: #f0f2f5;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.07);
}
/* Hover effect for dropdown links */
.main-navigation .sub-menu li a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* --- Login/Register Button Style (High Contrast & Accessible) --- */
.main-navigation .wtv-login-button a {
    background-color: #0d6efd; /* Primary blue - good contrast */
    color: #ffffff !important;   /* White text */
    border: 2px solid transparent; /* For focus state */
    font-weight: 700;
}

/* Hover state for the button */
.main-navigation .wtv-login-button a:hover {
    background-color: #0a58ca; /* Darker blue */
    transform: translateY(-2px);
}

/* Focus state for keyboard navigation (accessibility) */
.main-navigation .wtv-login-button a:focus {
    outline: none; /* Remove default browser outline */
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.35); /* Add a glow effect */
}

/* --- NEW: Hide Default Page Titles on Custom HTML Pages --- */
/* Yeh code un pages per default title ko chhupayega jahan aap custom HTML istemal kar rahe hain */
.page-template-page-privacy-policy .entry-title,
.page-template-page-terms-of-service .entry-title,
.page-template-page-refund-policy .entry-title,
.page-template-page-how-it-works .entry-title,
.page-template-page-contact-us .entry-title,
.page-template-page-about-us .entry-title {
    display: none !important;
}

.site-main {
    margin-bottom: 50px; /* <-- YEH LINE ADD KI GAYI HAI */
}


/* --- FOOTER SUPPORT SECTION --- */
.footer-support-section {
    width: 100%;
    max-width: 800px;
    margin: 40px auto 20px auto; /* top, auto, bottom, auto */
    padding: 20px;
    background-color: #f0f2f5; /* Light grey, similar to other elements */
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    text-align: center;
}

.footer-support-section .support-title {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin: 0 0 10px 0;
}

/* ACCESSIBILITY FIX: Darker text color */
.footer-support-section .support-text {
    font-size: 15px;
    color: #333; /* Darker grey for better contrast */
    line-height: 1.7;
    margin: 0;
}

.footer-support-section .support-text a {
    font-weight: 600;
    /* Color is inherited from global link styles */
}

/* --- FIX: Hide empty space on How It Works page --- */
/* This code targets the How It Works page using the specific body class
   and hides the plugin's container that leaves the empty space. */
body.page-template-page-how-it-works .wtv-search-filter-container {
    display: none;
}

