/*
Theme Name: 广德楼戏园
Theme URI: https://bjguangdelou.com
Author: 卢总
Author URI: https://bjguangdelou.com
Description: 广德楼戏园官方手机官网 - 纯手写自定义主题，国风复古+现代简约，支持全业态内容驱动，WooCommerce票务商城
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: Private
Text Domain: guangdelou
Tags: mobile-first, custom-theme, woocommerce, chinese-style
*/

/* 设计系统CSS变量已拆分到 css/variables.css */

/* === 订单付款页面（order-pay）移动端适配 === */
.gdl-order-pay-form {
    max-width: 100%;
    padding: 16px;
}
.gdl-pay-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}
.gdl-pay-order-items {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gdl-pay-order-item {
    display: flex;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid #f5f5f5;
}
.gdl-pay-order-item:last-child {
    border-bottom: none;
}
.gdl-pay-item-info {
    flex: 1;
    min-width: 0;
    padding-right: 12px;
}
.gdl-pay-item-name {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    word-break: break-all;
}
.gdl-pay-item-qty {
    font-size: 13px;
    color: #999;
    white-space: nowrap;
    padding: 0 8px;
}
.gdl-pay-item-price {
    font-size: 14px;
    font-weight: 600;
    color: #A93939;
    white-space: nowrap;
}
.gdl-pay-order-totals {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gdl-pay-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 14px;
}
.gdl-pay-total-label {
    color: #666;
}
.gdl-pay-total-value {
    color: #333;
    font-weight: 500;
}
.gdl-pay-total-row:last-child .gdl-pay-total-label,
.gdl-pay-total-row:last-child .gdl-pay-total-value {
    font-size: 16px;
    font-weight: 600;
    color: #A93939;
}
.gdl-pay-payment-section {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gdl-pay-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}
.gdl-pay-methods li {
    list-style: none !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    background: #fafafa !important;
}
.gdl-pay-methods li input[type="radio"] {
    margin-right: 8px;
}
.gdl-pay-methods label {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
}
.gdl-pay-submit-row {
    text-align: center;
    padding-top: 16px;
    border-top: 1px solid #eee;
}
.gdl-pay-button,
#place_order.button.alt {
    display: inline-block !important;
    width: 100% !important;
    max-width: 320px !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #A93939, #8B2E2E) !important;
    border: none !important;
    border-radius: 25px !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(169, 57, 57, 0.3) !important;
    transition: all 0.3s ease !important;
    line-height: 1.4 !important;
}
.gdl-pay-button:hover,
#place_order.button.alt:hover {
    background: linear-gradient(135deg, #8B2E2E, #6B2222) !important;
    box-shadow: 0 6px 16px rgba(169, 57, 57, 0.4) !important;
    transform: translateY(-1px) !important;
}
.gdl-pay-button:active,
#place_order.button.alt:active {
    transform: translateY(0) !important;
}

/* === 购物车页面（cart）移动端适配 === */
.gdl-cart-list {
    max-width: 100%;
    padding: 16px;
}
.gdl-cart-item {
    display: flex;
    background: #fff;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    position: relative;
}
.gdl-cart-item-thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 8px;
    overflow: hidden;
    margin-right: 12px;
    background: #f5f5f5;
}
.gdl-cart-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gdl-cart-item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.gdl-cart-item-name {
    font-size: 14px;
    color: #333;
    line-height: 1.4;
    margin-bottom: 4px;
    word-break: break-all;
}
.gdl-cart-item-name a {
    color: #333;
    text-decoration: none;
}
.gdl-cart-item-showtime {
    font-size: 12px;
    color: #999;
    margin-bottom: 4px;
}
.gdl-cart-item-price {
    font-size: 15px;
    font-weight: 600;
    color: #A93939;
    margin-bottom: 8px;
}
.gdl-cart-item-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
.gdl-cart-qty {
    display: flex;
    align-items: center;
}
.gdl-cart-qty .quantity {
    display: flex;
    align-items: center;
}
.gdl-cart-qty input[type="number"] {
    width: 50px;
    height: 32px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}
.gdl-cart-remove {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 18px;
    text-decoration: none;
    border-radius: 50%;
    transition: all 0.2s;
}
.gdl-cart-remove:hover {
    background: #fee;
    color: #c00;
}
.gdl-cart-actions {
    padding: 0 16px 16px;
    text-align: right;
}
.gdl-cart-actions .button {
    padding: 8px 20px;
    font-size: 13px;
    background: #f5f5f5;
    color: #666;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
}
.gdl-cart-collaterals {
    padding: 0 16px 100px;
}
.gdl-cart-totals {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gdl-cart-totals h3 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}
.gdl-cart-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 14px;
}
.gdl-cart-total-row span:first-child {
    color: #666;
}
.gdl-cart-total-row span:last-child {
    color: #333;
    font-weight: 500;
}
.gdl-cart-total-row.total {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #eee;
}
.gdl-cart-total-row.total span {
    font-size: 18px;
    font-weight: 700;
    color: #A93939;
}
.gdl-checkout-btn {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #A93939, #8B2E2E);
    border: none;
    border-radius: 25px;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(169, 57, 57, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
}
.gdl-checkout-btn:hover {
    background: linear-gradient(135deg, #8B2E2E, #6B2222);
    box-shadow: 0 6px 16px rgba(169, 57, 57, 0.4);
    transform: translateY(-1px);
    color: #fff;
}

/* === 结账页面（checkout）移动端适配 === */
.woocommerce-checkout {
    padding: 16px;
    max-width: 100%;
}
.gdl-checkout-fields {
    max-width: 100%;
}
.gdl-checkout-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}
.gdl-checkout-billing {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gdl-checkout-billing .form-row {
    margin-bottom: 12px;
}
.gdl-checkout-billing label {
    display: block;
    font-size: 13px;
    color: #666;
    margin-bottom: 4px;
}
.gdl-checkout-billing input[type="text"],
.gdl-checkout-billing input[type="email"],
.gdl-checkout-billing input[type="tel"] {
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-sizing: border-box;
}
.gdl-checkout-order-review {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
/* 订单摘要表格卡片化 */
.gdl-checkout-order-review .shop_table {
    width: 100%;
    border-collapse: collapse;
}
.gdl-checkout-order-review .shop_table th,
.gdl-checkout-order-review .shop_table td {
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
    font-size: 14px;
    text-align: left;
}
.gdl-checkout-order-review .shop_table .product-name {
    color: #333;
    word-break: break-all;
}
.gdl-checkout-order-review .shop_table .product-total {
    text-align: right;
    color: #A93939;
    font-weight: 600;
    white-space: nowrap;
}
.gdl-checkout-order-review .cart-subtotal th,
.gdl-checkout-order-review .cart-subtotal td,
.gdl-checkout-order-review .order-total th,
.gdl-checkout-order-review .order-total td {
    padding: 8px 0;
}
.gdl-checkout-order-review .order-total th,
.gdl-checkout-order-review .order-total td {
    font-size: 16px;
    font-weight: 700;
    color: #A93939;
    border-top: 2px solid #eee;
    padding-top: 12px;
}
/* 支付方式区域 */
.gdl-checkout-payment {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 100px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gdl-checkout-payment .wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}
.gdl-checkout-payment .wc_payment_methods li {
    list-style: none !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    background: #fafafa !important;
}
.gdl-checkout-payment .wc_payment_methods li input[type="radio"] {
    margin-right: 8px;
}
.gdl-checkout-payment .wc_payment_methods li label {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
}
.gdl-checkout-payment .payment_box {
    padding: 12px;
    background: #f9f9f9;
    border-radius: 8px;
    margin-top: 8px;
    font-size: 13px;
    color: #666;
}
/* 结账提交按钮 */
.gdl-checkout-payment #place_order,
.woocommerce-checkout #place_order {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 16px auto 0 !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #A93939, #8B2E2E) !important;
    border: none !important;
    border-radius: 25px !important;
    cursor: pointer !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(169, 57, 57, 0.3) !important;
    transition: all 0.3s ease !important;
    line-height: 1.4 !important;
}
.gdl-checkout-payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
    background: linear-gradient(135deg, #8B2E2E, #6B2222) !important;
    box-shadow: 0 6px 16px rgba(169, 57, 57, 0.4) !important;
    transform: translateY(-1px) !important;
}
/* 优惠券表单 */
.woocommerce-form-coupon {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.woocommerce-form-coupon input[type="text"] {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
}
.woocommerce-form-coupon .button {
    padding: 10px 20px;
    background: #A93939;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    cursor: pointer;
}

/* === WooCommerce默认结账/购物车样式（兼容默认模板） === */
/* 结账页面容器 */
.woocommerce-checkout {
    padding: 16px !important;
    max-width: 100% !important;
}
/* 账单/配送字段卡片 */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 0 0 12px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #eee !important;
}
.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row {
    margin-bottom: 12px !important;
}
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label {
    display: block !important;
    font-size: 13px !important;
    color: #666 !important;
    margin-bottom: 4px !important;
}
.woocommerce-billing-fields input[type="text"],
.woocommerce-billing-fields input[type="email"],
.woocommerce-billing-fields input[type="tel"],
.woocommerce-shipping-fields input[type="text"],
.woocommerce-shipping-fields input[type="email"],
.woocommerce-shipping-fields input[type="tel"] {
    width: 100% !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}
/* 订单摘要卡片 */
#order_review,
.woocommerce-checkout-review-order {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
#order_review h3,
.woocommerce-checkout-review-order h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 0 0 12px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #eee !important;
}
/* 订单表格移动端适配 */
#order_review .shop_table,
.woocommerce-checkout-review-order .shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
}
#order_review .shop_table th,
#order_review .shop_table td,
.woocommerce-checkout-review-order .shop_table th,
.woocommerce-checkout-review-order .shop_table td {
    padding: 10px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
    font-size: 14px !important;
    text-align: left !important;
}
#order_review .shop_table .product-name,
.woocommerce-checkout-review-order .shop_table .product-name {
    color: #333 !important;
    word-break: break-all !important;
}
#order_review .shop_table .product-total,
.woocommerce-checkout-review-order .shop_table .product-total {
    text-align: right !important;
    color: #A93939 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
#order_review .order-total th,
#order_review .order-total td,
.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #A93939 !important;
    border-top: 2px solid #eee !important;
    padding-top: 12px !important;
}
/* 支付方式卡片 */
#payment,
.woocommerce-checkout-payment {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 100px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
#payment .wc_payment_methods,
.woocommerce-checkout-payment .wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}
#payment .wc_payment_methods li,
.woocommerce-checkout-payment .wc_payment_methods li {
    list-style: none !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    background: #fafafa !important;
}
#payment .wc_payment_methods li input[type="radio"],
.woocommerce-checkout-payment .wc_payment_methods li input[type="radio"] {
    margin-right: 8px !important;
}
#payment .wc_payment_methods li label,
.woocommerce-checkout-payment .wc_payment_methods li label {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer !important;
}
#payment .payment_box,
.woocommerce-checkout-payment .payment_box {
    padding: 12px !important;
    background: #f9f9f9 !important;
    border-radius: 8px !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    color: #666 !important;
}
/* 提交按钮（最高优先级） */
#place_order.button.alt,
.woocommerce-checkout #place_order,
#payment #place_order,
form.checkout #place_order {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 16px auto 0 !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #A93939, #8B2E2E) !important;
    border: none !important;
    border-radius: 25px !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(169, 57, 57, 0.3) !important;
    transition: all 0.3s ease !important;
    line-height: 1.4 !important;
    float: none !important;
}
#place_order.button.alt:hover,
.woocommerce-checkout #place_order:hover,
#payment #place_order:hover {
    background: linear-gradient(135deg, #8B2E2E, #6B2222) !important;
    box-shadow: 0 6px 16px rgba(169, 57, 57, 0.4) !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}
/* 购物车页面默认class适配 */
.woocommerce-cart-form {
    padding: 16px !important;
}
.woocommerce-cart-form .cart_item {
    display: flex !important;
    background: #fff !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.woocommerce-cart-form .cart_item .product-thumbnail {
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 72px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-right: 12px !important;
}
.woocommerce-cart-form .cart_item .product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.woocommerce-cart-form .cart_item .product-name {
    flex: 1 !important;
    min-width: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    line-height: 1.4 !important;
    word-break: break-all !important;
}
.woocommerce-cart-form .cart_item .product-price,
.woocommerce-cart-form .cart_item .product-subtotal {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #A93939 !important;
    white-space: nowrap !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #A93939, #8B2E2E) !important;
    border: none !important;
    border-radius: 25px !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(169, 57, 57, 0.3) !important;
}
