/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Template: neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Neve is a super fast, easily customizable, multi-purpose theme. It's perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL & translation ready. Look no further. Neve is the perfect theme for you!
Version:        1.0.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
Tags: blog, custom-logo, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready, wide-blocks, block-styles
*/

/* ============================================
   WahSey Color Scheme for Neve Child Theme
   ============================================ */

/* CSS Custom Properties (Variables) */
:root {
    /* Primary Colors */
    --wahsey-primary: #F4A261;
    --wahsey-primary-dark: #E08A4A;
    --wahsey-primary-light: #FFDCC1;
    --wahsey-on-primary: #261900;

    /* Secondary Colors */
    --wahsey-secondary: #1F1B16;
    --wahsey-secondary-container: #EAE0D5;

    /* Background Colors */
    --wahsey-background: #FFFFFF;
    --wahsey-surface: #FFFFFF;
    --wahsey-surface-variant: #F5F5F5;

    /* Text Colors */
    --wahsey-text-primary: #1F1B16;
    --wahsey-text-secondary: #49454F;
    --wahsey-text-muted: #6B6B6B;

    /* Accent Colors */
    --wahsey-success: #00695C;
    --wahsey-error: #D32F2F;
    --wahsey-warning: #F4A261;

    /* Border/Outline Colors */
    --wahsey-outline: #E0E0E0;
    --wahsey-outline-variant: #CAC4D0;

    /* Shadows */
    --wahsey-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    --wahsey-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* ============================================
   Global Styles
   ============================================ */

body {
    background-color: var(--wahsey-background);
    color: var(--wahsey-text-primary);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ============================================
   Links
   ============================================ */

a {
    color: var(--wahsey-primary);
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--wahsey-primary-dark);
}

/* ============================================
   Buttons
   ============================================ */

/* Primary Button */
.button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"],
.nv-btn-primary,
.btn-primary {
    background-color: var(--wahsey-primary) !important;
    color: var(--wahsey-on-primary) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    box-shadow: var(--wahsey-shadow) !important;
}

.button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.nv-btn-primary:hover,
.btn-primary:hover {
    background-color: var(--wahsey-primary-dark) !important;
    box-shadow: var(--wahsey-shadow-hover) !important;
    transform: translateY(-1px);
}

/* Secondary/Outline Button */
.wp-block-button.is-style-outline .wp-block-button__link,
.btn-secondary,
.nv-btn-secondary {
    background-color: transparent !important;
    color: var(--wahsey-primary) !important;
    border: 2px solid var(--wahsey-primary) !important;
    border-radius: 8px !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.btn-secondary:hover,
.nv-btn-secondary:hover {
    background-color: var(--wahsey-primary) !important;
    color: var(--wahsey-on-primary) !important;
}

/* ============================================
   Header
   ============================================ */

.header-main,
.hfg_header,
header.header {
    background-color: var(--wahsey-surface) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

/* Navigation Links */
.nav-menu-primary a,
.nv-nav>li>a,
header nav a {
    color: var(--wahsey-text-primary) !important;
    font-weight: 500;
    transition: color 0.2s ease;
}

.nav-menu-primary a:hover,
.nv-nav>li>a:hover,
header nav a:hover {
    color: var(--wahsey-primary) !important;
}

/* Active/Current Menu Item */
.nav-menu-primary .current-menu-item>a,
.nv-nav>li.current-menu-item>a {
    color: var(--wahsey-primary) !important;
}

/* ============================================
   Footer
   ============================================ */

footer,
.site-footer,
.hfg_footer {
    background-color: var(--wahsey-secondary) !important;
    color: #FFFFFF !important;
}

footer a,
.site-footer a,
.hfg_footer a {
    color: var(--wahsey-primary-light) !important;
}

footer a:hover,
.site-footer a:hover,
.hfg_footer a:hover {
    color: var(--wahsey-primary) !important;
}

/* ============================================
   Cards & Containers
   ============================================ */

.card,
.nv-card,
article.post,
.wp-block-group {
    background-color: var(--wahsey-surface);
    border-radius: 12px;
    box-shadow: var(--wahsey-shadow);
    border: 1px solid var(--wahsey-outline);
    transition: box-shadow 0.2s ease;
}

article.post:hover {
    box-shadow: var(--wahsey-shadow-hover);
}

/* ============================================
   Typography
   ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--wahsey-text-primary);
    font-weight: 700;
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

p {
    color: var(--wahsey-text-secondary);
    line-height: 1.7;
}

/* ============================================
   Forms
   ============================================ */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="url"],
textarea,
select {
    border: 1px solid var(--wahsey-outline) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    background-color: var(--wahsey-surface) !important;
    color: var(--wahsey-text-primary) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wahsey-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px var(--wahsey-primary-light) !important;
}

/* ============================================
   WooCommerce (if applicable)
   ============================================ */

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background-color: var(--wahsey-primary) !important;
    color: var(--wahsey-on-primary) !important;
    border-radius: 8px !important;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background-color: var(--wahsey-primary-dark) !important;
}

/* Price styling */
.woocommerce .price,
.woocommerce-Price-amount {
    color: var(--wahsey-primary) !important;
    font-weight: 700;
}

/* Sale badge */
.woocommerce .onsale {
    background-color: var(--wahsey-error) !important;
    color: #FFFFFF !important;
    border-radius: 4px !important;
}

/* ============================================
   Utility Classes
   ============================================ */

.bg-primary {
    background-color: var(--wahsey-primary) !important;
}

.text-primary {
    color: var(--wahsey-primary) !important;
}

.bg-secondary {
    background-color: var(--wahsey-secondary) !important;
}

.text-secondary {
    color: var(--wahsey-text-secondary) !important;
}

/* ============================================
   Responsive Adjustments
   ============================================ */

@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    .button,
    .wp-block-button__link {
        padding: 10px 20px !important;
        font-size: 14px !important;
    }
}

/* ============================================
   Text Readability Fixes for Dark Backgrounds
   ============================================ */

/* Excerpts on blog listing with LIGHT background */
.nv-card-content .excerpt-wrap,
.nv-card-content .entry-summary,
.nv-card-content .entry-summary p,
article.layout-grid .excerpt-wrap,
article.layout-list .excerpt-wrap {
    color: var(--wahsey-text-secondary) !important;
}

/* Excerpts on DARK backgrounds (Neve covers, front page, etc.) */
.excerpt-wrap,
.entry-summary,
.entry-summary p,
.post-excerpt,
.nv-post-excerpt,
article .excerpt,
.blog-entry-summary,
.home .excerpt-wrap,
.home .entry-summary,
.home article .excerpt-wrap,
.front-page .excerpt-wrap,
.nv-post-cover .excerpt-wrap,
.nv-post-cover .entry-summary,
.cover-post .excerpt-wrap,
.has-background .excerpt-wrap,
.has-dark-background .excerpt-wrap,
[style*="background"] .excerpt-wrap,
[style*="background-color"] .excerpt-wrap,
.nv-post-thumbnail-wrap~.non-grid-content .excerpt-wrap {
    color: #FFFFFF !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Post titles on dark backgrounds */
.home .entry-title,
.home .entry-title a,
.front-page .entry-title,
.front-page .entry-title a,
.nv-post-cover .entry-title,
.nv-post-cover .entry-title a {
    color: #FFFFFF !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* Meta info on dark backgrounds */
.home .nv-meta-list,
.home .entry-meta,
.front-page .nv-meta-list,
.nv-post-cover .nv-meta-list {
    color: rgba(255, 255, 255, 0.9) !important;
}

.home .nv-meta-list a,
.home .entry-meta a,
.nv-post-cover .nv-meta-list a {
    color: #FFFFFF !important;
}

/* Single post title - ensure readable */
.single .entry-title,
.single-post .entry-title,
.nv-single-post-wrap .entry-title,
article.post .entry-title,
.single h1.entry-title,
.hentry .entry-title {
    color: var(--wahsey-text-primary) !important;
}

/* If single post has cover/hero with dark background */
.nv-post-cover .entry-title,
.cover-header .entry-title,
.has-post-thumbnail .nv-post-cover .entry-title,
.single .nv-post-cover .entry-title {
    color: #FFFFFF !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* Post meta on dark backgrounds */
.nv-post-cover .nv-meta-list,
.nv-post-cover .post-meta,
.nv-post-cover .entry-meta,
.cover-header .entry-meta {
    color: rgba(255, 255, 255, 0.9) !important;
}

.nv-post-cover .nv-meta-list a,
.nv-post-cover .post-meta a,
.nv-post-cover .entry-meta a {
    color: #FFFFFF !important;
}

/* Blog cards - ensure proper contrast */
.nv-card-content,
.blog article .content,
.nv-post-thumbnail-wrap+.content {
    background-color: var(--wahsey-surface) !important;
    color: var(--wahsey-text-primary) !important;
}

.nv-card-content .entry-title,
.nv-card-content .entry-title a {
    color: var(--wahsey-text-primary) !important;
}

.nv-card-content .entry-title a:hover {
    color: var(--wahsey-primary) !important;
}

/* Category/tag labels on cards */
.nv-meta-list .category,
.nv-meta-list .cat-links a,
.cat-links a {
    color: var(--wahsey-primary) !important;
}

/* Ensure post content is readable */
.entry-content,
.entry-content p,
.single-post-container .entry-content {
    color: var(--wahsey-text-primary) !important;
}

/* Footer text readability (dark background) */
.site-footer,
.site-footer p,
.hfg_footer,
.hfg_footer p,
footer .widget,
footer .widget p {
    color: rgba(255, 255, 255, 0.9) !important;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.hfg_footer h1,
.hfg_footer h2,
.hfg_footer h3,
.hfg_footer h4,
footer .widget-title {
    color: #FFFFFF !important;
}

/* ============================================
   Location Info Card - For Food Place Details
   ============================================
   
   USAGE: Add CSS class "wahsey-location-card" to a Group block
   
   ============================================ */

.wahsey-location-card,
.wp-block-group.wahsey-location-card,
.location-info-card {
    background: linear-gradient(145deg, #FFF8F3 0%, #FFEEE3 50%, #FFE4D4 100%) !important;
    border: 2px solid var(--wahsey-primary) !important;
    border-radius: 16px !important;
    padding: 28px 28px !important;
    margin: 32px 0 !important;
    box-shadow:
        0 4px 20px rgba(244, 162, 97, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
    position: relative;
    overflow: hidden;
}

/* Decorative accent corner */
.wahsey-location-card::before,
.wp-block-group.wahsey-location-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, var(--wahsey-primary) 0%, var(--wahsey-primary-dark) 100%);
}

/* Main heading - "How To Get To..." */
.wahsey-location-card h2,
.wahsey-location-card h3,
.wahsey-location-card h4,
.location-info-card h2,
.location-info-card h3,
.location-info-card h4 {
    color: var(--wahsey-text-primary) !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    padding-bottom: 12px;
    border-bottom: 1px dashed rgba(244, 162, 97, 0.4);
}

/* All paragraphs in the card */
.wahsey-location-card p,
.location-info-card p {
    color: var(--wahsey-text-primary) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 12px !important;
}

/* Strong/bold text - labels like "Address:", "Nearest MRT:" */
.wahsey-location-card strong,
.wahsey-location-card b,
.location-info-card strong,
.location-info-card b {
    color: var(--wahsey-primary-dark) !important;
    font-weight: 700 !important;
}

/* Links inside the card */
.wahsey-location-card a,
.location-info-card a {
    color: var(--wahsey-primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease !important;
}

.wahsey-location-card a:hover,
.location-info-card a:hover {
    color: var(--wahsey-primary-dark) !important;
    border-bottom-color: var(--wahsey-primary) !important;
}

/* Lists inside the card (for multiple outlets or social links) */
.wahsey-location-card ul,
.wahsey-location-card ol,
.location-info-card ul,
.location-info-card ol {
    margin: 12px 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.wahsey-location-card li,
.location-info-card li {
    padding: 8px 0 !important;
    padding-left: 24px !important;
    position: relative;
    color: var(--wahsey-text-primary) !important;
    border-bottom: 1px solid rgba(244, 162, 97, 0.15);
}

.wahsey-location-card li:last-child,
.location-info-card li:last-child {
    border-bottom: none;
}

.wahsey-location-card li::before,
.location-info-card li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--wahsey-primary);
    font-weight: bold;
}

/* Social links section styling */
.wahsey-location-card .wp-block-social-links,
.location-info-card .wp-block-social-links {
    margin-top: 16px !important;
    gap: 12px !important;
}

.wahsey-location-card .wp-block-social-links a,
.location-info-card .wp-block-social-links a {
    background-color: var(--wahsey-primary) !important;
    color: var(--wahsey-on-primary) !important;
    border-radius: 50% !important;
}

/* Section dividers within the card */
.wahsey-location-card hr {
    border: none !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(244, 162, 97, 0.4), transparent) !important;
    margin: 20px 0 !important;
}

/* Responsive adjustments */
@media (max-width: 600px) {

    .wahsey-location-card,
    .wp-block-group.wahsey-location-card {
        padding: 20px 16px !important;
        padding-left: 20px !important;
        margin: 20px 0 !important;
    }

    .wahsey-location-card h2,
    .wahsey-location-card h3,
    .wahsey-location-card h4 {
        font-size: 1.2rem !important;
    }
}

/* ============================================
   Quick Info Badges - For Opening Hours, Price, etc.
   ============================================ */

.wahsey-info-badge,
.info-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: var(--wahsey-secondary-container);
    color: var(--wahsey-text-primary);
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 0.875rem;
    font-weight: 500;
    margin: 4px;
}

.wahsey-info-badge.primary,
.info-badge.primary {
    background-color: var(--wahsey-primary);
    color: var(--wahsey-on-primary);
}

.wahsey-info-badge.success,
.info-badge.success {
    background-color: var(--wahsey-success);
    color: #FFFFFF;
}

/* ============================================
   Call-to-Action Box
   ============================================ */

.wahsey-cta-box,
.cta-box {
    background: linear-gradient(135deg, var(--wahsey-primary) 0%, var(--wahsey-primary-dark) 100%);
    color: #FFFFFF !important;
    padding: 32px;
    border-radius: 16px;
    text-align: center;
    margin: 32px 0;
}

.wahsey-cta-box h3,
.cta-box h3 {
    color: #FFFFFF !important;
    margin-bottom: 16px;
}

.wahsey-cta-box p,
.cta-box p {
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 20px;
}

.wahsey-cta-box a,
.cta-box a {
    background-color: #FFFFFF !important;
    color: var(--wahsey-primary) !important;
    padding: 12px 28px !important;
    border-radius: 25px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* ============================================
   Star Ratings - For Review Scores
   ============================================
   
   USAGE OPTIONS:
   
   Option 1 - CSS Classes on a span:
   <h4>Ambiance <span class="wahsey-stars stars-3"></span></h4>
   <h4>Menu Items <span class="wahsey-stars stars-4"></span></h4>
   <h4>Value <span class="wahsey-stars stars-5"></span></h4>
   
   Option 2 - Using data attribute:
   <span class="wahsey-stars" data-rating="3.5"></span>
   
   Option 3 - Emoji inline (no CSS needed):
   Ambiance ⭐⭐⭐☆☆ (3/5)
   
   ============================================ */

/* Base star container */
.wahsey-stars,
.star-rating {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    font-size: 1.1em;
    letter-spacing: 2px;
    vertical-align: middle;
}

/* Star styles using ::before pseudo-element */
.wahsey-stars::before,
.star-rating::before {
    font-family: inherit;
    color: #FFD700;
    /* Gold color for filled stars */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Empty stars template (5 empty stars) */
.wahsey-stars::after {
    content: "☆☆☆☆☆";
    position: absolute;
    color: #D4D4D4;
    z-index: -1;
}

/* Rating levels */
.wahsey-stars.stars-0::before,
.star-rating.stars-0::before {
    content: "☆☆☆☆☆";
    color: #D4D4D4;
}

.wahsey-stars.stars-0-5::before,
.star-rating.stars-0-5::before {
    content: "½☆☆☆☆";
}

.wahsey-stars.stars-1::before,
.star-rating.stars-1::before {
    content: "★☆☆☆☆";
}

.wahsey-stars.stars-1-5::before,
.star-rating.stars-1-5::before {
    content: "★½☆☆☆";
}

.wahsey-stars.stars-2::before,
.star-rating.stars-2::before {
    content: "★★☆☆☆";
}

.wahsey-stars.stars-2-5::before,
.star-rating.stars-2-5::before {
    content: "★★½☆☆";
}

.wahsey-stars.stars-3::before,
.star-rating.stars-3::before {
    content: "★★★☆☆";
}

.wahsey-stars.stars-3-5::before,
.star-rating.stars-3-5::before {
    content: "★★★½☆";
}

.wahsey-stars.stars-4::before,
.star-rating.stars-4::before {
    content: "★★★★☆";
}

.wahsey-stars.stars-4-5::before,
.star-rating.stars-4-5::before {
    content: "★★★★½";
}

.wahsey-stars.stars-5::before,
.star-rating.stars-5::before {
    content: "★★★★★";
}

/* Colored variants */
.wahsey-stars.orange::before {
    color: var(--wahsey-primary);
}

.wahsey-stars.red::before {
    color: #E53935;
}

.wahsey-stars.green::before {
    color: var(--wahsey-success);
}

/* Size variants */
.wahsey-stars.small {
    font-size: 0.9em;
}

.wahsey-stars.large {
    font-size: 1.4em;
}

/* Rating with label style */
.rating-label {
    display: inline-flex;
    align-items: center;
    background-color: var(--wahsey-surface-variant);
    padding: 6px 12px;
    border-radius: 20px;
    gap: 6px;
    margin: 4px;
}

.rating-label .label-text {
    font-weight: 600;
    color: var(--wahsey-text-primary);
}

.rating-label .wahsey-stars {
    margin-left: 0;
}

/* Inline rating for headers */
h2 .wahsey-stars,
h3 .wahsey-stars,
h4 .wahsey-stars,
h5 .wahsey-stars {
    font-size: 0.8em;
    margin-left: 10px;
}

/* Rating summary card */
.wahsey-rating-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px;
    background: var(--wahsey-surface-variant);
    border-radius: 12px;
    margin: 16px 0;
}

.wahsey-rating-summary .rating-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wahsey-rating-summary .rating-item .category {
    font-weight: 600;
    min-width: 100px;
}