/*
Theme Name: Simple speed
Author: Performance Expert
Description: An ultra-fast, Flexbox-based WooCommerce theme that completely replaces default Woo styles for maximum speed.
Version: 2.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: simple-speed
*/
:root {
    --vk-color-primary: #337ab7;
    --vk-color-primary-vivid: #2e6da4;
    --text-color: #464646;
    --header-text-color: #12254B;
    --border-color: #e5e5e5;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    color: #333;
    margin: 0;
    line-height: 1.6;
}
.site-header {
    border-bottom: 1px solid var(--border-color);
    padding: 1em 0;
    background-color: #fff;
}
.container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}
.site-body { padding: 2em 0; }
.row { display: flex; flex-wrap: wrap; gap: 30px; }
.main-section { flex: 1; min-width: 0; }
.sub-section { flex: 0 0 280px; }
/* Header */
.siteHeadContainer { display: flex; flex-direction: row; gap: 30px; align-items: center; }
.header-main-area { flex: 1; min-width: 0; display: flex; justify-content: space-between; align-items: center; }
.header-sidebar-placeholder { flex: 0 0 280px; }
h1.site-header-logo, .custom-logo-link { margin: 0; line-height: 1; }
h1.site-header-logo a { color: var(--header-text-color); text-decoration: none; }
/* Navigation */
.gMenu_outer ul { display: flex; list-style: none; padding: 0; margin: 0; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.gMenu_outer ul li { margin-right: 15px; padding-right: 15px; position: relative; }
.gMenu_outer ul li::after { content: "|"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: #999; }
.gMenu_outer ul li:last-child::after { content: ""; }
.gMenu_outer ul li:last-child { margin-right: 0; padding-right: 0; }
.gMenu_outer ul li a { color: var(--header-text-color); text-decoration: none; }
.gMenu_outer ul li a:hover { color: var(--vk-color-primary); }
/* WooCommerce Base */
.woocommerce span.onsale { background-color: #c00; padding: 2px 8px; border-radius: 2px; color: #fff; font-size: 12px; }
.price, .product_list_widget .price { color: #c00; font-weight: 700; }
.price del { color: #555; font-weight: 400; font-size: .8em; }
.price ins { text-decoration: none; }
/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, 
.woocommerce #respond input#submit {
    background-color: var(--vk-color-primary); color: #fff; border: none;
    padding: .618em 1em; border-radius: 3px; cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center; gap: 5px;
    transition: background-color 0.1s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background-color: var(--vk-color-primary-vivid); }
.woocommerce a.button:active, .woocommerce button.button:active, .woocommerce input.button:active, .woocommerce #respond input#submit:active { background-color: #8B0000 !important; }
.woocommerce a.button::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm7 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/%3E%3C/svg%3E");
    display: inline-block; width: 16px; height: 16px;
}
.woocommerce ul.products { display: flex; flex-wrap: wrap; gap: 20px; }
.woocommerce ul.products li.product { flex: 1 1 200px; border: 1px solid var(--border-color); padding: 15px; box-sizing: border-box; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .button { margin-top: auto; width: 100%; text-align: center; justify-content: center; }
.woocommerce ul.products li.product h2, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; color: #333; white-space: normal; word-break: break-word; overflow-wrap: break-word; }
h1.product_title.entry-title { white-space: normal; word-break: break-word; overflow-wrap: break-word; }
.woocommerce nav.woocommerce-pagination { text-align: center; }
.woocommerce nav.woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; padding: 0; margin: 20px 0; border: none; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li { border: none; margin: 0 3px; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a, .woocommerce nav.woocommerce-pagination ul.page-numbers li span { display: inline-block; padding: 8px 14px; border: 1px solid var(--border-color); border-radius: 3px; text-decoration: none; color: var(--text-color); transition: all 0.2s ease; line-height: 1; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover { background-color: var(--vk-color-primary); color: #fff; border-color: var(--vk-color-primary); }
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current { background-color: var(--vk-color-primary); color: #fff; border-color: var(--vk-color-primary); }
/* Account Pages */
.woocommerce-MyAccount-content { flex: 1; min-width: 0; }
.woocommerce-MyAccount-navigation { margin-bottom: 2em; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border-top: 1px solid var(--border-color); }
.woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--border-color); }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 8px 0; text-decoration: none; color: var(--text-color); }
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--vk-color-primary); }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--vk-color-primary); font-weight: 600; }
@media only screen and (min-width: 768px) {
    .woocommerce-account .entry-body { display: flex; gap: 30px; }
    .woocommerce-MyAccount-navigation { flex: 0 0 220px; }
}
/* Forms - 提取公共过渡动画，提升渲染性能 */
.woocommerce form .form-row { margin-bottom: 1em; }
.woocommerce form .form-row label { display: block; margin-bottom: 5px; font-weight: 400; }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%; padding: .5rem .8rem; border: 1px solid var(--border-color);
    border-radius: .25rem; box-sizing: border-box; font-size: 1rem;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce form .form-row textarea { height: auto; min-height: 100px; }
.woocommerce form .form-row .required { color: red; }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--vk-color-primary) !important;
    background-color: #f0f7ff !important;
    box-shadow: 0 0 0 2px rgba(51, 122, 183, 0.15);
    outline: none;
}
/* 邮箱输入框专属醒目高亮 */
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row .paypal-email-highlight {
    border-left: 3px solid var(--vk-color-primary) !important;
    background-color: #f9fcff;
}
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row .paypal-email-highlight:focus {
    border-color: var(--vk-color-primary) !important;
    background-color: #e8f2ff !important;
    box-shadow: 0 0 0 2px rgba(51, 122, 183, 0.25);
}
/* Validation Errors */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid input {
    border-color: #e2401c !important; background-color: #fff0f0; box-shadow: none;
}
.woocommerce form .form-row.woocommerce-invalid label { color: #e2401c !important; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { padding: 1em 2em 1em 3.5em; margin: 0 0 2em; position: relative; background-color: #f7f6f7; color: #515151; border-top: 3px solid #a46497; list-style: none outside; width: auto; word-wrap: break-word; }
.woocommerce-error { border-top-color: #b81c23; background-color: #ffefef; }
.woocommerce-error li { color: #b81c23; }
.woocommerce-info { border-top-color: var(--vk-color-primary); }
/* Tables */
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th { padding: 9px 12px; font-weight: 400; background-color: #f9f9f9; }
.woocommerce table.shop_table td { padding: 9px 12px; border-bottom: 1px solid var(--border-color); }
.woocommerce table.shop_table .product-name a { text-decoration: none; color: var(--text-color); }
.woocommerce table.shop_table .product-name a:hover { color: var(--vk-color-primary); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td,
.woocommerce table.shop_table .product-name, .woocommerce table.shop_table .product-total,
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { text-align: left; }
.woocommerce-cart .cart_totals { float: none; width: 100%; max-width: 500px; margin-top: 2em; }
.woocommerce-cart .cart_totals h2 { font-size: 1.2em; border-bottom: 1px solid var(--border-color); padding-bottom: 0.5em; }
.woocommerce-checkout #customer_details { display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 2em; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { flex: 1 1 300px; }
.woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout .woocommerce-shipping-fields h3, .woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 1.2em; border-bottom: 1px dotted #ccc; padding-bottom: 0.5em; }
/* Checkout Warning Text */
#order_review_heading { font-size: 1.4em; margin-top: 0; border-bottom: 1px solid var(--border-color); padding-bottom: 0.5em; }
.checkout-email-warning { display: none; }
.checkout-email-warning.is-loaded { display: block; font-size: 13px; margin-bottom: 10px; margin-top: 1em; }
.checkout-email-warning .arrow-symbols { color: #000000; font-weight: bold; margin-right: 4px; }
.checkout-email-warning .warning-text { color: var(--vk-color-primary); font-weight: 600; }
/* Single Product */
.single-product .entry-summary .quantity { display: inline-block; margin-right: 10px; }
.single-product .entry-summary .button { height: auto; font-size: 16px; padding: 10px 20px; }
/* Responsive */
@media only screen and (max-width: 992px) {
    .header-sidebar-placeholder { display: none; }
    .row { flex-direction: column; }
    .sub-section { flex: 1 1 100%; }
}
@media only screen and (max-width: 768px) {
    .siteHeadContainer { flex-direction: column; gap: 0; text-align: center; }
    .header-main-area { flex-direction: column; align-items: center; }
    .gMenu_outer { margin-top: 10px; }
    .gMenu_outer ul { justify-content: center; }
    .woocommerce table.shop_table { display: block; overflow-x: auto; }
    .checkout-email-warning.is-loaded { font-size: 12px; }
}