/*
Theme Name: Astra Child
Theme URI: https://dyzir.com/
Description: Astra Child Theme
Author: Keyu
Author URI: https://dyzir.com/
Template: astra
Version: 1.0.0
*/

/* 自定义焦点样式start */
/* 1. 移除所有默认焦点样式 */
*,
*:focus,
*:active,
*:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* 2. 移除 Astra 主题特定的焦点样式 */
.ast-header-custom-item a:focus,
.ast-header-custom-item a:focus-visible,
.site-title a:focus,
.site-title a:focus-visible,
.ast-logo-svg:focus,
.custom-logo-link:focus,
.custom-logo-link:focus-visible,
.custom-logo:focus,
.ast-site-identity a:focus,
.ast-site-identity a:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* 3. Logo 区域完全无交互反馈 */
.site-branding,
.site-branding *,
.ast-site-identity,
.ast-site-identity *,
.custom-logo-link,
.custom-logo-link *,
.site-logo,
.site-logo *,
.site-title,
.site-title *,
.site-description,
.site-description * {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

/* 导航菜单链接 */
.main-navigation a:focus-visible,
.ast-menu-toggle:focus-visible,
nav a:focus-visible {
    background: linear-gradient(90deg, 
                rgba(255, 255, 255, 0.03) 0%, 
                rgba(255, 255, 255, 0.06) 50%, 
                rgba(255, 255, 255, 0.03) 100%) !important;
    box-shadow: inset 0 -2px 0 0 rgba(255, 255, 255, 0.15) !important;
}

/* 6. 移除移动端点击高亮 */
@media (max-width: 768px) {
    *,
    *:focus,
    *:active {
        -webkit-tap-highlight-color: transparent !important;
        -webkit-touch-callout: none !important;
    }
}

/* 7. 键盘导航专用样式（可访问性） */
@media (prefers-reduced-motion: no-preference) {
    .keyboard-nav a:focus-visible,
    .keyboard-nav button:focus-visible {
        outline: 2px dashed rgba(0, 0, 0, 0.3) !important;
        outline-offset: 3px !important;
    }
}

/* 9. 特殊元素处理 */
/* WooCommerce 产品图片 */
.woocommerce-product-gallery__image a:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* 社交媒体图标 */
.ast-social-icon-a:focus,
.ast-social-icon-a:focus-visible {
    outline: none !important;
    transform: scale(1.1);
    opacity: 0.8;
}
/* 自定义焦点样式end */

/* astra 选框 */
.ppc-button-wrapper {
    position: relative !important;
    z-index: 1 !important;
}

.main-header-bar-wrap {
    border-bottom: 1px solid #d1d5db;
}

.ast-variation-button-group .ast-single-variation {
    padding: 0.3em 0.6em;
    line-height: 1.5;
	border-radius: 3px;
	font-size: 15px;
}

.woocommerce-js div.product form.cart .variations th {
	margin-bottom: 0.3em !important;

}

/* 快捷购物车 start */
form.xoo-wsc-sl-apply-coupon button {
    width: 100%;
}
form.xoo-wsc-sl-apply-coupon input {
    margin-bottom: 12px;
}
.xoo-wsc-sc-cont .xoo-wsc-cart-trigger {
    line-height: 0 !important;
}

.ast-logo-title-inline .site-logo-img {
    padding-right: 0;
}
/* 快捷购物车 end */


/* SKU 部分 start  */
.cfvsw-selected-swatch {
    background: #e9e9e9;
    color: #000000;   
    border: 1.5px solid #000000;
}

.ast-variation-button-group .ast-single-variation.active {
  border: 1.5px solid var( --ast-global-color-0 ) !important;
  background: #e8e8e8;
  font-weight: bold;
}

.ast-variation-button-group .ast-single-variation {
  font-size: large;
  color: black;
  border-radius: 3px;
}

.woocommerce-js div.product form.cart .reset_variations {
  display: none !important;
}

.woocommerce-js div.product form.cart .variations {
  border-bottom: 0 !important;
}

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
  font-size: large;
  margin-bottom: 15px;
}

.ast-single-product-extras {
  margin-top: .6em;
}


.ast-separate-container #primary, .ast-separate-container.ast-left-sidebar #primary, .ast-separate-container.ast-right-sidebar #primary {
    margin: 0;
    padding: 0;
}

.ast-separate-container .ast-article-single:not(.ast-related-post), .woocommerce.ast-separate-container .ast-woocommerce-container, .ast-separate-container .error-404, .ast-separate-container .no-results, .single.ast-separate-container .site-main .ast-author-meta, .ast-separate-container .related-posts-title-wrapper, .ast-separate-container .comments-count-wrapper, .ast-box-layout.ast-plain-container .site-content, .ast-padded-layout.ast-plain-container .site-content, .ast-separate-container .ast-archive-description, .ast-separate-container .comments-area .comment-respond, .ast-separate-container .comments-area .ast-comment-list li, .ast-separate-container .comments-area .comments-title {
    padding: 0;
}

.woocommerce div.product form.cart .variations th {
    color: black;
}

/*
.woocommerce .quantity .plus, .woocommerce .quantity .minus, .woocommerce .quantity .qty {
    border: 1px solid var(--ast-global-color-0) !important;
}
*/

.woocommerce div.product form.cart .button.single_add_to_cart_button {
    padding: 10px;
}
/* SKU 部分 end */

/* 页尾空隙 start*/
.widget.widget_block p {
    margin-bottom: 0;
}

@media (max-width: 544px) {
    .ast-header-break-point .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
        padding: 1.5rem;
    }
}
/* 页尾空隙 end*/

/* Woo 通知 */
.woocommerce-store-notice.demo_store {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

aside.header-widget-area.widget-area.site-header-focus-item.header-widget-area-inner p {
  margin-bottom: 0 !important;
}

/*
.xoo-wsc-sc-cont .xoo-wsc-cart-trigger > * {
  margin-top: 3px !important;
}
Woo 通知 结束 */


.woocommerce .quantity .minus {
  border-radius: 3px 0 0 3px;
}

.woocommerce .quantity .plus {
  border-radius: 0 3px 3px 0;
}

/* 小屏页头距 */
.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 18px;
}

/* 价格隐藏 */
.woocommerce-variation-price {
  display: none;
}

/* Paypal 空隙 */
.ppcp-messages {
    display: none !important;
}


/* 删除线原价 */ 
.woocommerce-js div.product p.price del, .woocommerce-js div.product span.price del {
    font-size: smaller;
}

.woocommerce-js ul.products li.product .price del, .woocommerce-page ul.products li.product .price del {
    font-size: smaller;
}

/* 详情页样式 */
/* --- Base Theme: Inspired by dyzir.css, goifun.css, and gorfun.css --- */
:root {
    --primary-color: rgb(34, 78, 122); /* A mix of dyzir and goifun for a professional blue */
    --primary-light: rgb(54, 98, 142);
    --primary-dark: rgb(24, 58, 92);
    --primary-fade: rgba(34, 78, 122, 0.08);
    --primary-hover: rgba(34, 78, 122, 0.04);

    --text-primary: #2c3e50; /* from gorfun.css for better readability */
    --text-secondary: #6c757d; /* from gorfun.css */
    --text-light: #868e96;

    --bg-light: #f8f9fa; /* from gorfun.css */
    --bg-white: #ffffff;
    --border-color: #e5e7eb; /* A common border color */

    --space-xs: 0.15rem; /* 2.4px */
    --space-sm: 0.35rem; /* 5.6px */
    --space-md: 0.8rem;  /* 12.8px */
    --space-lg: 1.2rem;  /* 19.2px */
    --space-xl: 1.8rem;  /* 28.8px */
    --space-xxl: 2.5rem; /* 40px */

    --radius-sm: 3px;
    --radius-md: 6px;
    --radius-lg: 12px;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.03);
    --shadow-md: 0 4px 8px rgba(0,0,0,0.05);
    --shadow-lg: 0 8px 16px rgba(0,0,0,0.1);

    --transition: all 0.3s ease;
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/*
body {
    font-family: var(--font-sans);
    background-color: var(--bg-light);
    color: var(--text-primary);
    line-height: 1.6;
    font-size: 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* {
    box-sizing: border-box;
}
*/

/* --- Utility: Hide empty p tags --- */
p:empty {
    display: none;
}

/* --- Container --- */
.dyzir-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Aligning outermost container to the edges */
.dyzir-container-fluid {
    width: 100%;
    padding: var(--space-lg) 0;
}


.dyzir-section-container {
    background-color: var(--bg-white);
    padding: var(--space-xl);
    margin: var(--space-lg) 0;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

/* --- Boxed Section for Privacy/Package (Unified Styling) --- */
.dyzir-boxed-section,
.dyzir-privacy,
.dyzir-package {
    border: 1px solid var(--border-color);
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    margin: var(--space-lg) auto;
    background-color: var(--bg-white);
    box-shadow: var(--shadow-sm);
}
.dyzir-boxed-section p,
.dyzir-privacy p,
.dyzir-package p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: var(--space-md);
}

/* --- Fix for ast-single-tab overlap --- */
.ast-single-product-tabs .ast-single-tab {
    position: relative;
    z-index: 1;
    margin-bottom: var(--space-lg); /* Add space below tabs */
}

.tabs-content .ast-single-tab {
    padding-top: var(--space-lg);
    position: relative;
    background-color: var(--bg-white);
    z-index: 1;
}

.tabs-content .woocommerce-Tabs-panel--visible,
.tabs-content .active-tab {
    z-index: 2;
}

.dyzir-container table {
    margin: 0 !important;
}

/* --- Hero Section --- */
.dyzir-hero {
    text-align: center;
    padding: var(--space-xl) var(--space-lg);
    background: linear-gradient(180deg, var(--bg-light) 0%, #e9ecef 100%);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-lg);
}

.dyzir-subtitle {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0 auto var(--space-lg) auto;
    font-weight: 400;
    max-width: 600px;
}


/* --- Typography --- */
p, .dyzir-description {
    margin: 0 0 var(--space-md);
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.6;
}

.dyzir-title,
.dyzir-section-heading-primary,
.dyzir-section-heading-secondary {
    text-align: center;
    margin: var(--space-md) auto;
    position: relative;
    color: var(--text-primary);
    letter-spacing: -0.25px;
}

.dyzir-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    margin-bottom: var(--space-md) !important;
    padding-bottom: var(--space-sm) !important;
    color: var(--text-primary) !important;
}

.dyzir-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 3px;
    background-color: var(--primary-color);
    border-radius: 2px;
}

.dyzir-section-heading-primary {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    padding-bottom: var(--space-sm);
    margin-bottom: var(--space-lg);
}

.dyzir-section-heading-primary::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: var(--primary-color);
}

.dyzir-section-heading-secondary {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-top: var(--space-lg);
    margin-bottom: var(--space-md);
}

.dyzir-intro {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-secondary);
    /* text-align: center; */
    margin: 0 auto var(--space-lg);
    /* max-width: 800px; */
}

/* --- Stats Grid --- */
.dyzir-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-md);
    margin: var(--space-lg) 0;
}

.dyzir-stat-card {
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    text-align: center;
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
}

.dyzir-stat-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--primary-light);
}

.dyzir-stat-number {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-color);
    display: inline-block;
    margin-right: var(--space-sm);
}

.dyzir-stat-label {
    font-size: 0.8rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline;
}


/* --- Features Section (Layout Fix) --- */
.dyzir-features, .dyzir-feature-grid {
    margin: var(--space-xl) auto;
}

.dyzir-features-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-md);
    padding: 0;
    list-style: none;
    margin-left: 0;
}

.dyzir-features-item, .dyzir-feature {
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
    position: relative; /* For pseudo-element */
    padding-left: calc(var(--space-md) + 1.1em + var(--space-sm)); /* Space for symbol + margin */
    flex-wrap: wrap; /* Added flex-wrap */
}

.dyzir-features-item:hover, .dyzir-feature:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--primary-light);
}

.dyzir-features-item::before {
    content: '✦';
    color: var(--primary-color);
    font-size: 1.1em; /* Relative to parent font-size */
    position: absolute;
    left: var(--space-md); /* Align with padding */
    top: var(--space-md); /* Align with padding */
    line-height: 1.5; /* Match feature-item line-height */
}

.dyzir-features-item h3, .dyzir-feature-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin: 0 0 var(--space-sm);
}

.dyzir-features-item p, .dyzir-feature-text {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
    /* No additional padding-left needed, as it's block inside padded container */
}

/* --- Image --- */
.dyzir-img-wrap {
    margin: var(--space-lg) auto;
    text-align: center;
}

.dyzir-img-wrap img, .dyzir-product-image {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

.dyzir-img-wrap img:hover, .dyzir-product-image:hover {
    transform: scale(1.02);
    box-shadow: var(--shadow-lg);
}

.dyzir-caption {
    font-size: 0.85rem;
    color: var(--text-light);
    font-style: italic;
    margin-top: var(--space-sm);
    text-align: center;
}

/* --- Specs Table (Refactored) --- */
.dyzir-specs, .dyzir-tech-table {
    margin: var(--space-lg) auto;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    background-color: var(--bg-white); /* Background moved to container */
}

.dyzir-specs table, .dyzir-tech-table table {
    width: 100%;
    border-collapse: collapse; /* Changed to collapse */
    background-color: transparent; /* Table itself is transparent */
}

.dyzir-specs th,
.dyzir-specs td,
.dyzir-tech-table th,
.dyzir-tech-table td {
    padding: var(--space-sm) var(--space-md);
    text-align: left;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.9rem;
    white-space: normal; /* Allow text to wrap */
}

.dyzir-specs th,
.dyzir-tech-table th {
    background: var(--bg-light);
    font-weight: 600;
    color: var(--text-primary);
}

/* Zebra-striping for better readability */
.dyzir-specs tr:nth-of-type(even),
.dyzir-tech-table tr:nth-of-type(even) {
    background-color: var(--primary-hover);
}

.dyzir-specs tr:last-child th,
.dyzir-specs tr:last-child td,
.dyzir-tech-table tr:last-child th,
.dyzir-tech-table tr:last-child td {
    border-bottom: none;
}

.dyzir-specs tr:hover,
.dyzir-tech-table tr:hover {
    background-color: rgba(34, 78, 122, 0.1);
}

.dyzir-policy-list strong {
    margin-right: 3px;
}

/* --- Notice Box --- */
.dyzir-notice {
    background: var(--primary-fade);
    border-left: 3px solid var(--primary-color);
    padding: var(--space-md);
    margin: var(--space-md) auto !important;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    color: var(--text-primary);
    line-height: 1.5 !important;
}

.dyzir-notice.warning {
    border-left-color: #f59e0b;
    background: #fffbeb;
}

/* --- Pull Quote --- */
.dyzir-pull-quote {
    font-size: 1.2rem;
    line-height: 1.5;
    font-style: italic;
    padding: var(--space-md);
    margin: var(--space-lg) auto;
    border-left: 3px solid var(--primary-color);
    color: var(--primary-dark);
    max-width: 85%;
    background-color: var(--primary-fade);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

/* --- Policy List (Layout Fix) --- */
.dyzir-policy-section {
    margin: 0 auto var(--space-lg);
    max-width: 100%;
}

.dyzir-policy-list {
    padding: 0 !important;
    list-style-type: none !important;
    margin: 0 !important;
}

.dyzir-policy-list li {
    /* display: flex !important; */
    align-items: flex-start !important; /* Changed from center to flex-start */
    margin-bottom: var(--space-sm) !important;
    line-height: 1.6 !important;
    color: var(--text-secondary) !important;
    text-indent: 0 !important;
    padding-left: 0 !important;
    /* flex-wrap: nowrap; Added flex-wrap */
}

.dyzir-policy-list li::before {
    content: "✔" !important;
    color: var(--primary-color) !important;
    margin-right: var(--space-sm) !important;
    font-size: 1.1em;
    flex-shrink: 0;
    line-height: 1.6;
    position: static !important;
    top: auto !important; left: auto !important;
    width: auto !important; height: auto !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    transition: var(--transition) !important;
}

.dyzir-policy-list li:hover:before {
    transform: scale(1.1) !important;
}

/* --- Package List (New) --- */
ul.dyzir-package-list {
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important; /* Consistent with other lists */
}

ul.dyzir-package-list li {
    position: relative;
    font-weight: 600;
    padding-left: 20px; /* Space for the bullet */
    margin-bottom: var(--space-sm);
    color: var(--text-primary);
    line-height: 1.6;
}

ul.dyzir-package-list li::before {
    content: '✦';
    color: var(--primary-color); /* Using primary color for consistency */
    font-size: 1em;
    position: absolute;
    left: 0;
    top: 0;
    line-height: inherit;
}


/* --- Breadcrumb --- */
.dyzir-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 0 var(--space-md) 0;
    justify-content: center;
}

.dyzir-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.dyzir-breadcrumb-item:not(:last-child)::after {
    content: '›';
    margin: 0 var(--space-sm);
    color: var(--text-light);
}

.dyzir-breadcrumb-item a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition);
}

.dyzir-breadcrumb-item a:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

/* --- Button --- */
.dyzir-button {
    display: inline-block;
    /* padding: var(--space-sm) var(--space-lg); */
    margin: var(--space-sm) 0;
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    text-align: center;
    width: 100%;
    box-shadow: var(--shadow-sm);
}

.dyzir-button:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

/* --- Responsive Design --- */
@media (max-width: 768px) {
    .dyzir-container {
        padding: 0 !important; /* Changed to 0 */
    }

    .dyzir-section-container {
        padding: var(--space-lg);
    }

    .dyzir-title {
        font-size: 1.8rem !important;
    }

    .dyzir-section-heading-primary {
        font-size: 1.4rem;
    }

    .dyzir-section-heading-secondary {
        font-size: 1.1rem;
    }

    .dyzir-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-sm);
    }
    
    /* Remove horizontal scroll on table */
    .dyzir-specs table, .dyzir-tech-table table {
        /* Revert to default table behavior, allowing text wrap */
        display: table;
        overflow-x: visible;
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .dyzir-features-list {
        grid-template-columns: 1fr;
    }
    
    .dyzir-features-item {
      line-height: 1.5;
    }

    .dyzir-button {
        width: 100%;
        padding: var(--space-md);
    }

    .dyzir-stat-card {
        padding: var(--space-sm);
        flex-direction: column; /* Reverted to column for smaller screens */
        align-items: center;
        justify-content: center;
    }

    .dyzir-stat-number {
        margin-right: 0;
        margin-bottom: var(--space-xs);
        font-size: 1.6rem;
    }
}
/* 详情页样式 end */
