/*
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  ***************/
a.woocommerce-button.button.wc-action-btn.back-to-list.btn.btn-md.btn-icon-before.btn-dark {
    color: white !important;
}

a.sidebar-toggle,
a.sidebar-toggle i {
    color: white !important;
}

.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;
}

.product-label-group.swatch-badge-label-group {
    display: flex !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
    */

    /* 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;
}

/*************** Close Button - White Color for Primary/Error Alerts ***************/

/**
 * Make close button icon and text white for primary and error alerts
 *
 * Primary alerts (.alert-primary) and error alerts (.alert-danger, .alert-error)
 * have dark backgrounds, so the close button needs white color for proper visibility.
 * The close icon is created using ::before and ::after pseudo-elements with background color.
 *
 * Implementation Date: 2025-12-22
 */

/* Make close icon (×) white for primary and error alerts */
.alert-primary .btn-close .close-icon::before,
.alert-primary .btn-close .close-icon::after,
.alert-danger .btn-close .close-icon::before,
.alert-danger .btn-close .close-icon::after,
.alert-error .btn-close .close-icon::before,
.alert-error .btn-close .close-icon::after {
    background-color: #fff !important;
    box-shadow: none !important;
}

/* Make button text white if it exists */
.alert-primary .btn-close,
.alert-danger .btn-close,
.alert-error .btn-close {
    color: #fff !important;
}

/*************** Square Size Swatch - 50x50px ***************/

/**
 * Change size swatch buttons from rectangular to square
 * Only affects the size attribute (pa_尺寸), not color or other swatches
 * Uses high specificity selectors to override theme CSS
 *
 * Implementation Date: 2026-01-09
 */

/* High specificity selectors to override theme CSS */
body .product-variations.list-type.pa_尺寸 button,
body .product-variations.list-type[data-attr="pa_尺寸"] button,
.single-product .product-variations.list-type.pa_尺寸 button,
.single-product .product-variations.list-type[data-attr="pa_尺寸"] button {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 50px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.navplugify {
    margin-bottom: 10px !important;
}

.attribute-label {
    font-size: 16px !important;
}

/*************** Out-of-Stock Size Swatch - Diagonal Strikethrough ***************/

/**
 * Visual indicator for out-of-stock size swatches
 * Shows a diagonal line through the button and reduces opacity
 *
 * Implementation Date: 2026-01-09
 */

body .product-variations.pa_尺寸 button.out-of-stock {
    position: relative;
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #f2f2f2 !important;
}

body .product-variations.pa_尺寸 button.out-of-stock::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 20%;
    right: 20%;
    bottom: 20%;
    background: linear-gradient(
        to top left,
        transparent 0%,
        transparent calc(50% - 0.5px),
        #666 50%,
        transparent calc(50% + 0.5px),
        transparent 100%
    );
    pointer-events: none;
}

/*************** CSS Containment - Mega Menu Performance Optimization ***************/

/**
 * Tell browser to skip rendering hidden mega menu content until visible
 * This significantly improves initial page load by deferring mega menu rendering
 * until the content becomes visible (when user hovers on menu).
 *
 * content-visibility: auto - Browser skips rendering until element is near viewport
 * contain-intrinsic-size - Placeholder size to prevent layout shift when content loads
 *
 * Implementation Date: 2026-01-13
 */

/* Mega menu dropdown content - skip rendering until opened */
.e-n-menu-content {
    content-visibility: auto;
    contain-intrinsic-size: 0 500px;
}

/* NOTE: Removed content-visibility from .vivaia-mm-hover-image-container and
   .vivaia-mm-hover-image because it was preventing images from showing on hover.
   The positioned elements (left: -106px) were being skipped by the browser. */

/*************** Sale Page Banner - HORIZONTAL Banner (2 columns wide) ***************/

/**
 * Reference layout (4 columns):
 * Row 1: [Product 1] [Product 2] [Banner spans 2 cols]
 * Row 2: [Product 3] [Product 4] [Product 5] [Product 6]
 *
 * Banner is HORIZONTAL - spans 2 columns, same height as product image
 * Recommended banner image: 800px × 400px (2:1 ratio)
 */

/* Override Riode's flexbox with 4-column CSS Grid */
.sale-page .product-archive ul.products.row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    align-items: unset !important;
}

/* Override Riode's column width classes on product items */
.sale-page .product-archive ul.products.row > li.product,
.sale-page .product-archive ul.products.row > li.product-wrap {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Banner spans 2 COLUMNS horizontally */
.sale-page .product-archive ul.products.row > li.sale-page-banner {
    grid-column: span 2;
    height: auto;
    align-self: start;
}

/* Banner link and image styling */
.sale-page li.sale-page-banner .sale-banner-link {
    display: block;
    width: 100%;
    aspect-ratio: 2 / 1;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.sale-page li.sale-page-banner .sale-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Tablet: 3 columns, banner spans 2 */
@media (max-width: 991px) {
    .sale-page .product-archive ul.products.row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* Mobile: 2 columns, banner at TOP (before products) */
@media (max-width: 767px) {
    .sale-page .product-archive ul.products.row {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    .sale-page .product-archive ul.products.row > li.sale-page-banner {
        grid-column: span 2;
        order: -1;  /* Move banner to first position on mobile */
    }
}

/*************** New Arrivals Page Banner - HORIZONTAL Banner (2 columns wide) ***************/

/* Override Riode's flexbox with 4-column CSS Grid */
.new-arrivals-page .product-archive ul.products.row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    align-items: unset !important;
}

/* Override Riode's column width classes on product items */
.new-arrivals-page .product-archive ul.products.row > li.product,
.new-arrivals-page .product-archive ul.products.row > li.product-wrap {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Banner spans 2 COLUMNS horizontally */
.new-arrivals-page .product-archive ul.products.row > li.new-arrivals-banner {
    grid-column: span 2;
    height: auto;
    align-self: start;
}

/* Banner link and image styling */
.new-arrivals-page li.new-arrivals-banner .new-arrivals-banner-link {
    display: block;
    width: 100%;
    aspect-ratio: 2 / 1;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.new-arrivals-page li.new-arrivals-banner .new-arrivals-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Text fallback banner (when no image is set) */
.new-arrivals-page li.new-arrivals-banner .new-arrivals-banner-placeholder {
    width: 100%;
    height: 100%;
    background-color: #804c17;
    display: flex;
    align-items: center;
    justify-content: center;
}

.new-arrivals-page li.new-arrivals-banner .new-arrivals-banner-placeholder .banner-text {
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Tablet: 3 columns, banner spans 2 */
@media (max-width: 991px) {
    .new-arrivals-page .product-archive ul.products.row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* Mobile: 2 columns, banner at TOP (before products) */
@media (max-width: 767px) {
    .new-arrivals-page .product-archive ul.products.row {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    .new-arrivals-page .product-archive ul.products.row > li.new-arrivals-banner {
        grid-column: span 2;
        order: -1;
    }
}

/*************** Generic Catalog Page Banner ***************/

.vivaia-catalog-page .product-archive ul.products.row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
    justify-content: unset !important;
    align-items: unset !important;
}

.vivaia-catalog-page .product-archive ul.products.row > li.product,
.vivaia-catalog-page .product-archive ul.products.row > li.product-wrap {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vivaia-catalog-page .product-archive ul.products.row > li.catalog-page-banner {
    grid-column: span 2;
    height: auto;
    align-self: start;
}

.vivaia-catalog-page li.catalog-page-banner .catalog-banner-link {
    display: block;
    width: 100%;
    aspect-ratio: 2 / 1;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.vivaia-catalog-page li.catalog-page-banner .catalog-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 991px) {
    .vivaia-catalog-page .product-archive ul.products.row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .vivaia-catalog-page .product-archive ul.products.row {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
    .vivaia-catalog-page .product-archive ul.products.row > li.catalog-page-banner {
        grid-column: span 2;
        order: -1;
    }
}

/*** Catalog Page Hero Banner (full-width, above product grid) ***/

.catalog-hero-banner {
    width: 100%;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 4px;
}

.catalog-hero-banner-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.woocommerce-invoice-fields h3 {
    color: black !important;
}

/*************** My Account Orders - Mobile Card Layout ***************/
/**
 * Converts the 7-column orders table into stacked cards on mobile.
 *
 * Root cause: Riode theme removes all WooCommerce CSS via
 * add_filter('woocommerce_enqueue_styles', '__return_empty_array')
 * in riode/inc/setup/theme-assets.php:15, so woocommerce-smallscreen.css
 * (the responsive table CSS) never loads.
 *
 * Columns (verified from wc_get_account_orders_columns()):
 *   1. order-number  (訂單)    — <th> tag, link to order
 *   2. order-source  (來源)    — EC/POS badge (vivaia-pos-integration)
 *   3. order-date    (發佈日期) — <time> element, format: Y 年 n 月 j 日
 *   4. order-status  (狀態)    — <span class="status"> (vivaia-order-item-status)
 *   5. order-tracking (物流追蹤) — carrier badge + tracking # (vivaia-warehouse-shipment)
 *   6. order-total   (總計)    — e.g. "NT$8,680 (共 1 件商品)"
 *   7. order-actions (動作)    — view/pay/cancel buttons
 *
 * Implementation Date: 2026-03-31
 */
@media (max-width: 767px) {

    /* --- Reset table: remove borders, hide column headers --- */

    .woocommerce-orders-table {
        border: none !important;
        background: transparent !important;
    }

    .woocommerce-orders-table thead {
        display: none !important;
    }

    /* --- Cards: each <tr> becomes a card --- */

    .woocommerce-orders-table tbody {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .woocommerce-orders-table tr.order {
        display: flex !important;
        flex-wrap: wrap;
        background: #ffffff !important;
        border: 1px solid #e5e0db !important;
        border-radius: 8px;
        padding: 16px;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    }

    /* Override Riode alternating row color (.order:nth-child(2n) → #f4f4f4) */
    .woocommerce-orders-table tr.order:nth-child(2n) {
        background: #ffffff !important;
    }

    /* --- All cells: full-width block with floated label --- */
    /* Using display:block (not flex) so mixed HTML + text content
       (e.g. <span>NT$8,680</span> (共 1 件商品)) stays together
       instead of splitting into separate flex items. */

    .woocommerce-orders-table tr.order td,
    .woocommerce-orders-table tr.order th {
        display: block !important;
        width: 100%;
        padding: 4px 0 !important;
        border: none !important;
        text-align: right !important;
        background: transparent !important;
        font-size: 14px;
        line-height: 1.5;
        box-sizing: border-box;
        overflow: hidden; /* clearfix for floated ::before */
    }

    /* Label from data-title attribute — floated left */
    .woocommerce-orders-table tr.order td::before {
        content: attr(data-title) ": ";
        font-weight: 600;
        float: left;
        color: #666;
        font-size: 13px;
        margin-right: 8px;
        white-space: nowrap;
    }

    /* --- order-number (訂單): card header, bold, no label --- */

    .woocommerce-orders-table__cell-order-number {
        order: 1;
        padding-bottom: 10px !important;
        margin-bottom: 8px;
        border-bottom: 1px solid #f0ebe6 !important;
    }

    /* No data-title label for order number — it IS the header */
    .woocommerce-orders-table__cell-order-number::before {
        display: none !important;
    }

    .woocommerce-orders-table__cell-order-number a {
        color: #333 !important;
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
    }

    /* --- order-source (來源): no label, just badge --- */

    .woocommerce-orders-table__cell-order-source {
        order: 2;
        text-align: left !important;
        padding-bottom: 8px !important;
    }

    .woocommerce-orders-table__cell-order-source::before {
        display: none !important;
    }

    /* --- order-status (狀態): label:value --- */

    .woocommerce-orders-table__cell-order-status {
        order: 3;
    }

    .woocommerce-orders-table__cell-order-status .status {
        font-weight: 600;
    }

    /* --- order-total (總計): label:value, bold --- */

    .woocommerce-orders-table__cell-order-total {
        order: 4;
        font-weight: 600;
    }

    /* --- order-date (發佈日期): label:value, secondary --- */

    .woocommerce-orders-table__cell-order-date {
        order: 5;
        color: #666;
    }

    /* --- order-tracking (物流追蹤): label:value --- */

    .woocommerce-orders-table__cell-order-tracking {
        order: 6;
    }

    .woocommerce-orders-table__cell-order-tracking .vivaia-tracking-link {
        flex-direction: row;
        align-items: center;
        gap: 5px;
    }

    /* --- order-actions (動作): full-width button area --- */

    .woocommerce-orders-table__cell-order-actions {
        order: 99;
        margin-top: 8px;
        padding-top: 12px !important;
        border-top: 1px solid #f0ebe6 !important;
        text-align: center !important;
    }

    .woocommerce-orders-table__cell-order-actions::before {
        display: none !important;
    }

    .woocommerce-orders-table__cell-order-actions a.woocommerce-button,
    .woocommerce-orders-table__cell-order-actions a.button {
        display: inline-block !important;
        text-align: center;
        padding: 10px 20px !important;
        min-height: 44px;
        line-height: 24px;
        font-size: 14px;
        font-weight: 600;
        background: #804C1A;
        color: #ffffff !important;
        border-radius: 6px;
        border: none;
        box-sizing: border-box;
        text-decoration: none;
        margin: 0 4px;
    }

    .woocommerce-orders-table__cell-order-actions a.woocommerce-button:hover,
    .woocommerce-orders-table__cell-order-actions a.button:hover {
        background: #6a3f16;
        color: #ffffff !important;
    }

    /* --- Pagination spacing from last card --- */

    .woocommerce-pagination {
        margin-top: 24px;
    }
}
