/*
Theme Name: VIVAIA Child
Theme URI: https://riode.org/
Author: D-THEMES
Author URI: https://riode.org/about-me/
Description: Riode Responsive WordPress + eCommerce Theme.
Version: 1.0
Template: riode
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/
.vivaia_opening_title h3.title {color: black !important }
.vivaia_opening_title h4.subtitle {color: black !important }

a.btn.btn-dark.btn-radius.btn-md.riode-go-shop {
    color: white !important;
}

button.vivaia-store-availability-btn {
    background-color: white !important;
    color: black !important;
}

a.btn.btn-dark.btn-radius.btn-md.riode-go-shop {
    border-radius: 6px;
}

.sticky-content.fixed {box-shadow: none !important; }
.header .sticky-content.fixed  {animation: none !important; }
main {
padding-top: 0.5rem  !important;
}

p.price del {
    font-size: 16px;
}

a.scroll-top.show {
    display: none;
}

.elementor .elementor-widget-n-tabs{
    --n-tabs-title-background-color-hover: #fff !important;
    --n-tabs-title-background-color-active: #fff !important;
  }

/* WooCommerce Price Slider Button - Match See More Button Style */
.price_slider_amount button {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 20px;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
}

.price_slider_amount button:hover {
    background: #f5f5f5;
    border-color: #999;
    color: #000;
}

.price_slider_amount button:active {
    background: #e5e5e5;
    transform: translateY(1px);
}

.price_slider_amount button:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

.fkcart-shortcode-price {
    display: none;
}

/* Hide categories, tags, and brand from product meta - show only SKU (貨號) */
.product_meta .posted_in,
.product_meta .tagged_as,
.product_meta .brand {
    display: none !important;
}

a.fkcart-select-options {
    display: none;
}

.product-label-group {
    display: none !important;
}

ul.product-nav {
    display: none;
}

.mobile-menu-container {
    background: #ffffff;
}

.mobile-menu-wrapper a {color: black; background-color: white}

nav.main-menu {
    background-color: white !important;
}

.mobile-menu-container .mobile-menu {
    background: #ffffff;
}

a.btn.btn-dark.btn-radius.btn-md.riode-go-shop {
    color: white;
}

/* Fix GIF product images showing with opacity: 0 due to lazy load */
/* Issue: Riode's lazy load sets opacity: 0 initially and relies on a load event
   to fade in images. Cached GIF files trigger the load event before jQuery can
   bind the handler, leaving them invisible. This CSS forces GIF images visible. */
.d-lazyload[data-lazy$="gif"],
.d-lazyload[src$=".gif"] {
    background: none !important;
}

img[src$=".gif"] {
    opacity: 1 !important;
    height: auto !important;
}

.owl-item img[src$=".gif"] {
    opacity: 1 !important;
}

label.wfacp_main_form.label.label_shiping {
    display: none !important;
}

div#customer_login {
    margin-top: 50px;
}

/* Mobile only (phones) */
@media (max-width: 767px) {
    /* put your mobile-only CSS here */
    .product-navigation .breadcrumb li:last-child {
        display: none;
    }

    /* ========================================
       FIX: Horizontal Scroll Issue on Mobile
       ========================================
       Issue: WooCommerce product grids causing 10px horizontal overflow
       Date: 2025-11-27
    */

    /* Prevent product grid overflow */
    .woocommerce.columns-2,
    .woocommerce .products {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Constrain product titles to prevent overflow */
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title a {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Global mobile overflow prevention (safety net) */
    body {
        overflow-x: hidden !important;
    }

    /* Ensure Elementor widgets don't exceed viewport */
    .elementor-widget-container {
        max-width: 100%;
        overflow-x: hidden;
    }
  }

/*************** vivaia_300px - Full Width + Fixed Height Image Style ***************/
.vivaia_300px {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Ensure img/picture elements inside also follow the rule */
.vivaia_300px img,
.vivaia_300px picture,
.vivaia_300px picture img {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/*************** LINE Login - Prominent Green Button Styling ***************/

/* Hide all social login providers except LINE */
.heateor_sl_list_horizontal li:not(.heateor_sl_line) {
    display: none !important;
}

/* LINE login container */
.heateor_sl_container {
    margin: 10px 0 !important;
}

/* Remove list styling */
.heateor_sl_list_horizontal {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* LINE button container */
.heateor_sl_line,
body .heateor_sl_line,
.woocommerce-form .heateor_sl_line,
.woocommerce-form-row .heateor_sl_line {
    margin: 0 !important;
    width: auto !important;
    display: inline-block !important;
}

/* LINE button - Bigger with green brand styling */
body .heateor_sl_line a,
body.woocommerce .heateor_sl_line a,
body.woocommerce-page .heateor_sl_line a,
.woocommerce-form .heateor_sl_line a,
.woocommerce-form-row .heateor_sl_line a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 20px !important;
    background: #06C755 !important;  /* LINE official green */
    border: 2px solid #05a544 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 6px rgba(6, 199, 85, 0.25) !important;
    width: auto !important; /* Prevent WooCommerce form width override */
}

/* LINE button hover state */
body .heateor_sl_line a:hover,
body .heateor_sl_line a:focus,
body.woocommerce .heateor_sl_line a:hover,
body.woocommerce-page .heateor_sl_line a:hover,
.woocommerce-form .heateor_sl_line a:hover,
.woocommerce-form-row .heateor_sl_line a:hover {
    background: #05b34c !important;  /* Darker green on hover */
    border-color: #048f3c !important;
    color: #ffffff !important; /* Ensure white text on hover */
    box-shadow: 0 4px 12px rgba(6, 199, 85, 0.35) !important;
}

/* LINE button active/pressed state */
body .heateor_sl_line a:active,
body.woocommerce .heateor_sl_line a:active,
body.woocommerce-page .heateor_sl_line a:active,
.woocommerce-form .heateor_sl_line a:active,
.woocommerce-form-row .heateor_sl_line a:active {
    background: #05a544 !important;
    color: #ffffff !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(6, 199, 85, 0.2) !important;
}

/* LINE icon styling - bigger size */
.heateor_sl_line a img {
    height: 32px !important;
    width: 32px !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
}

/* LINE button text */
.heateor_sl_line a span {
    font-size: 15px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* Mobile responsiveness */
@media (max-width: 767px) {
    .heateor_sl_line a {
        padding: 8px 16px !important;
        font-size: 14px !important;
    }

    .heateor_sl_line a img {
        height: 24px !important;
        width: 24px !important;
        margin-right: 8px !important;
    }

    .heateor_sl_line a span {
        font-size: 14px !important;
    }
}

/*************** LINE Pay Gateway - Icon Styling ***************/

/**
 * LINE Pay payment method icon styling
 *
 * Ensures the LINE brand icon displays correctly next to the "LINE Pay" text
 * on the checkout page with proper sizing, spacing, and alignment.
 *
 * Implementation Date: 2025-12-08
 */

/* LINE Pay title icon - general styling */
.linepay-title-icon {
    height: 35px !important;
    width: auto !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    display: inline-block !important;
}

/* Ensure proper alignment with payment method radio button */
.wc_payment_method label .linepay-title-icon {
    vertical-align: middle !important;
}

/* Mobile responsiveness - slightly smaller icon on mobile */
@media (max-width: 767px) {
    .linepay-title-icon {
        height: 28px !important;
        margin-right: 6px !important;
    }
}

/*************** Close Button - Remove Black Background ***************/

/**
 * Fix for close button icon showing black background box
 *
 * The .close-icon element was displaying with a black background instead of
 * being transparent. This override ensures the icon background is transparent
 * while keeping the X icon lines visible.
 *
 * Implementation Date: 2025-12-12
 */

/* Remove black background from close button icon */
.btn.btn-close .close-icon {
    background-color: transparent !important;
    background-image: none !important;
}
