@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');

/* 覆盖 Tailwind preflight：雪碧图 <img> 必须保持原尺寸，才能正确裁切到单帧 */
.paw-spritesheet,
.head-spritesheet { pointer-events: none; }
.paw-spritesheet img,
.head-spritesheet img {
    max-width: none !important;
    width: auto !important;
    height: auto !important;
}

body {
    font-family: 'cartierFont', 'Brilliant', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #1a1a1a;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 300;
    overflow-x: hidden;
}

.header {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 140px; /* 默认展开高度 */
}
.header.scrolled {
    height: 64px; /* 吸顶变身后的单行高度 */
}

/* ===== WordPress 管理黑条适配 =====
 * 登录用户页面顶部会出现 WP admin bar（桌面 32px / <= 782px 时 46px）
 * WP 通过 html { margin-top: 32px !important; } 下推文档流，但 fixed 定位的 header 不受其影响，
 * 需在此显式为 .header 加上 top 偏移量，避免其被黑条覆盖。
 */
body.admin-bar .header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar .header {
        top: 46px;
    }
}

/* 桌面端绝对定位滚动位移动画 */
@media (min-width: 768px) {
    /* 左右两侧信息初始在第一行偏下，滚动后向上移动并对齐居中 */
    #left-info, #right-info {
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        top: 36px;
    }
    .header.scrolled #left-info, .header.scrolled #right-info {
        top: 22px; /* 和中心导航在同一水平线 */
    }

    /* Logo初始在正中，滚动后向上收缩并变透明 */
    #center-logo {
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        top: 28px;
        opacity: 1;
        transform: translateX(-50%) scale(1);
    }
    .header.scrolled #center-logo {
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%) translateY(-20px) scale(0.9);
    }

    /* 导航初始在第二行，滚动后向上平滑移动至第一行 */
    #center-nav {
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        top: 96px;
    }
    .header.scrolled #center-nav {
        top: 22px; /* 和左右两侧信息完美处于同一水平线 */
    }
}

/* 移动端处理简易高度与排版 */
@media (max-width: 767px) {
    .header { height: 64px; }
    #left-info, #center-nav { display: none; }
    
    /* 移动端：强制 Logo 与左右汉堡菜单/搜索按钮水平对齐居中 */
    #center-logo {
        top: 50%;
        transform: translate(-50%, -50%);
    }
    
    /* 移动端豹子彩蛋尺寸缩放及位置校准 */
    #cartier-logo-container .paw-spritesheet,
    #cartier-logo-container .head-spritesheet {
        transform: scale(0.6) !important;
        transform-origin: center center;
    }
    #cartier-logo-container .paw-spritesheet {
        transform: scale(0.6) rotate(180deg) !important;
    }
    #cartier-logo-container .head-spritesheet {
        /* 猎豹头部：覆盖官方 JS 生成的内联 bottom，强制纠正悬空 */
        bottom: -25px !important;
    }
}

.btn-brand {
    background-color: #e5002b;
    color: white;
    transition: background-color 0.3s;
}
.btn-brand:hover {
    background-color: #b30022;
}

.btn-white {
    background-color: white;
    color: black;
    transition: background-color 0.3s, color 0.3s;
}
.btn-white:hover {
    background-color: #f5f5f5;
}

.hero {
    position: relative;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    background-size: cover;
    background-position: center;
}
.hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
    margin-top: auto;
    margin-bottom: 15vh;
}

.product-card img {
    transition: transform 0.5s ease;
}
.product-card:hover img {
    transform: scale(1.03);
}

/* Swiper 自定义样式：带细黑边框的白色圆形按钮，内置极细箭头 */
.swiper-button-next, .swiper-button-prev {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50%;
    border: 1px solid #e5e5e5;
    background-color: #fff;
    color: #000 !important;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    margin-top: -24px !important;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
    border-color: #000;
}
/* 移除 Swiper 自带的粗糙字体箭头，改用超细SVG背景 */
.swiper-button-next::after, .swiper-button-prev::after {
    display: none !important;
}
.swiper-button-next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
}
.swiper-button-prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
}

/* 产品卡片：完全禁止浮起和阴影！仅通过纯净的背景色变化体现奢侈品高冷交互 */
.item-card {
    background-color: transparent;
    transition: background-color 0.4s ease;
}
.item-card:hover {
    background-color: white;
}
.nested-pagination {
    display: flex;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
}
.nested-pagination .swiper-pagination-bullet {
    flex: 1;
    height: 3px;
    background: #d6d6d5;
    opacity: 1;
    border-radius: 0;
    margin: 0 !important;
    transition: background 0.3s;
}
.nested-pagination .swiper-pagination-bullet-active {
    background: #000;
}

/* 顶部导航：悬停时从左到右展开的下划线动画 */
.nav-link {
    position: relative;
    display: inline-block;
    padding-bottom: 6px;
    color: #1f2937;
    transition: color 0.3s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link:hover {
    color: #b30022;
}
.nav-link:hover::after {
    transform: scaleX(1);
}

/* 隐藏滚动条但保留滚动功能 */
.hidden-scroll {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}
.hidden-scroll::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

/* ========================================================================
 * PLP 骨架屏 + 筛选加载动画
 * ====================================================================== */

/* 骨架脉冲 — Tailwind animate-pulse 在 CDN 中已有，此处作兼容 fallback */
@keyframes zb-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: .4; }
}
.zb-skeleton-card .animate-pulse,
.zb-skeleton-card.animate-pulse {
    animation: zb-pulse 1.8s cubic-bezier(.4,0,.6,1) infinite;
}

/* 网格加载中淡入过渡 */
#plp-grid {
    transition: opacity .3s ease;
}
#plp-grid.zb-loading {
    opacity: .6;
    pointer-events: none;
}

/* 排序选项激活态 */
.zb-sort-option .zb-sort-dot {
    transition: border-color .2s;
}
.zb-sort-option.is-active .zb-sort-dot {
    border-color: #000;
}




/* PDP 手机端相册轮播 */
.pdpThumbsSwiper .swiper-slide {
    transition: border-color 0.3s ease;
}
.pdpThumbsSwiper .swiper-slide-thumb-active {
    border-color: #000 !important;
}
.pdpMainPagination.swiper-pagination-fraction {
    color: #000;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-align: right;
    padding-right: 12px;
}

/* PDP 相册骨架屏：变体切换 + 懒加载 */
.zb-gallery-img {
    position: relative;
}
.zb-gallery-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: zb-shimmer 1.5s infinite ease-in-out;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 5;
}
.zb-gallery-img.zb-img-loading::after {
    opacity: 1;
}
@keyframes zb-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* PDP 尺寸横向滚动 */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.scroll-snap-x { scroll-snap-type: x mandatory; }
.scroll-snap-start { scroll-snap-align: start; }
.size-option {
    position: relative;
    padding-bottom: 6px;
}
.size-option.active {
    color: #000;
}
.size-option.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #000;
}

/* Lightbox */
#zb-lightbox {
    opacity: 0;
    transition: opacity 0.35s ease;
}
#zb-lightbox.zb-lb-visible {
    opacity: 1;
}
.zb-lightbox-animate {
    transform: scale(0.85);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), opacity 0.35s ease;
}
#zb-lightbox.zb-lb-visible .zb-lightbox-animate {
    transform: scale(1);
    opacity: 1;
}

/* =========================================================================
   WooCommerce: Global Reset (WC default CSS已在 functions.php 移除)
   ========================================================================= */

/* --- 全局 WC 重置：清除遗留行内/组件默认样式 --- */
.zb-wc-page .woocommerce,
.zb-wc-page .woocommerce-page {
    font-size: 13px;
    line-height: 1.7;
    color: #1a1a1a;
}
.zb-wc-page * {
    box-sizing: border-box;
}
.zb-wc-page a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.2s;
}
.zb-wc-page a:hover {
    color: #b30022;
}
.zb-wc-page img {
    max-width: 100%;
    height: auto;
}
.zb-wc-page table {
    border-spacing: 0;
    border-collapse: collapse;
}
.zb-wc-page ul,
.zb-wc-page ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
.zb-wc-page h1,
.zb-wc-page h2,
.zb-wc-page h3,
.zb-wc-page h4 {
    margin: 0 0 12px;
    font-weight: 400;
    letter-spacing: 0.08em;
}
.zb-wc-page input[type="text"],
.zb-wc-page input[type="email"],
.zb-wc-page input[type="tel"],
.zb-wc-page input[type="number"],
.zb-wc-page input[type="password"],
.zb-wc-page input[type="search"],
.zb-wc-page textarea,
.zb-wc-page select {
    font-family: inherit;
    font-size: 13px;
    border: 1px solid #e5e5e5;
    padding: 12px 14px;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    background: #fff;
    transition: border-color 0.2s;
    width: 100%;
}
.zb-wc-page input:focus,
.zb-wc-page textarea:focus,
.zb-wc-page select:focus {
    border-color: #000;
    outline: none;
}

/* --- Notices --- */
.zb-wc-page .woocommerce-notices-wrapper {
    margin-bottom: 20px;
}
.zb-wc-page .woocommerce-message,
.zb-wc-page .woocommerce-info {
    font-size: 12px;
    letter-spacing: 0.05em;
    padding: 14px 20px;
    border-top: 2px solid #000;
    background: #fafafa;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.zb-wc-page .woocommerce-message::before,
.zb-wc-page .woocommerce-info::before {
    display: none;
}
.zb-wc-page .woocommerce-message .button,
.zb-wc-page .woocommerce-info .button {
    margin-left: auto;
    padding: 8px 16px;
    font-size: 10px;
}
.zb-wc-page .woocommerce-error {
    font-size: 12px;
    margin-bottom: 12px;
}
.zb-wc-page .woocommerce-error li {
    padding: 14px 20px;
    border-top: 2px solid #b30022;
    background: #fafafa;
    margin-bottom: 8px;
}

/* --- Buttons (universal) --- */
.zb-wc-page .button,
.zb-wc-page button[type="submit"],
.zb-wc-page input[type="submit"] {
    display: inline-block;
    background: #000;
    color: #fff;
    border: none;
    padding: 13px 28px;
    font-size: 11px;
    font-family: inherit;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s;
    text-align: center;
    line-height: 1.4;
    text-decoration: none;
}
.zb-wc-page .button:hover,
.zb-wc-page button[type="submit"]:hover,
.zb-wc-page input[type="submit"]:hover {
    background: #333;
    color: #fff;
}
.zb-wc-page .button:disabled,
.zb-wc-page button:disabled {
    background: #ccc;
    cursor: not-allowed;
}
.zb-wc-page .button.alt {
    background: #000;
    color: #fff;
}
.zb-wc-page .button.alt:hover {
    background: #333;
}

/* =========================================================================
   WooCommerce: Cart Page (.zb-wc-cart)
   ========================================================================= */

/* Two-column desktop layout */
.zb-wc-cart > .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}
.zb-wc-cart .woocommerce > .woocommerce-notices-wrapper {
    flex: 0 0 100%;
}
.zb-wc-cart .woocommerce > form.woocommerce-cart-form,
.zb-wc-cart .woocommerce > .woocommerce-cart-form {
    flex: 1 1 58%;
    min-width: 0;
}
.zb-wc-cart .woocommerce > .cart-collaterals {
    flex: 0 0 36%;
    min-width: 300px;
    position: sticky;
    top: 160px;
}

/* Cart table */
.zb-wc-cart .shop_table {
    width: 100%;
    border: none;
}
.zb-wc-cart .shop_table th {
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 14px 8px 14px 0;
    border-bottom: 1px solid #e5e5e5;
    text-align: left;
    background: transparent;
    color: #666;
}
.zb-wc-cart .shop_table td {
    padding: 24px 8px 24px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
    vertical-align: middle;
    background: transparent;
}
.zb-wc-cart .shop_table .product-thumbnail {
    width: 100px;
}
.zb-wc-cart .shop_table .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    background: #f5f5f5;
    border: none;
}
.zb-wc-cart .shop_table .product-name a {
    font-size: 13px;
    letter-spacing: 0.03em;
    font-weight: 400;
}
.zb-wc-cart .shop_table .product-remove {
    width: 40px;
    text-align: center;
}
.zb-wc-cart .shop_table .product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #bbb;
    font-size: 20px;
    line-height: 1;
    background: transparent;
    border: none;
}
.zb-wc-cart .shop_table .product-remove a.remove:hover {
    background: transparent;
    color: #b30022;
}
.zb-wc-cart .shop_table .product-quantity .quantity {
    display: inline-flex;
    align-items: center;
}
.zb-wc-cart .shop_table .quantity .qty {
    width: 60px;
    text-align: center;
    padding: 8px;
    font-size: 13px;
    border: 1px solid #e5e5e5;
}
.zb-wc-cart .shop_table .product-subtotal {
    font-weight: 500;
}

/* Cart actions row */
.zb-wc-cart .shop_table .actions {
    padding: 20px 0;
    border-bottom: none;
}
.zb-wc-cart .shop_table .actions .coupon {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
.zb-wc-cart .shop_table .actions .coupon input[type="text"] {
    width: 220px;
    padding: 10px 14px;
    font-size: 12px;
    letter-spacing: 0.05em;
}
.zb-wc-cart .shop_table .actions .coupon .button {
    padding: 10px 20px;
}
.zb-wc-cart .shop_table .actions > .button {
    float: right;
    padding: 10px 20px;
}

/* Cart totals sidebar */
.zb-wc-cart .cart-collaterals .cart_totals {
    max-width: 100%;
    float: none;
    margin: 0;
    background: #fafafa;
    padding: 30px 28px;
}
.zb-wc-cart .cart_totals h2 {
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
    color: #000;
}
.zb-wc-cart .cart_totals table {
    width: 100%;
}
.zb-wc-cart .cart_totals table th {
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 12px 0;
    font-size: 12px;
    border-bottom: 1px solid #eee;
    width: 40%;
    color: #666;
}
.zb-wc-cart .cart_totals table td {
    padding: 12px 0;
    font-size: 13px;
    text-align: right;
    border-bottom: 1px solid #eee;
}
.zb-wc-cart .cart_totals .order-total th,
.zb-wc-cart .cart_totals .order-total td {
    font-size: 15px;
    font-weight: 600;
    border-bottom: none;
    padding-top: 20px;
    color: #000;
}
.zb-wc-cart .wc-proceed-to-checkout {
    padding: 0;
    margin-top: 20px;
}
.zb-wc-cart .wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 16px;
    font-size: 12px;
    letter-spacing: 0.2em;
    font-weight: 500;
}

/* Shipping calculator */
.zb-wc-cart .shipping-calculator-button {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.zb-wc-cart .shipping-calculator-form {
    margin-top: 12px;
}
.zb-wc-cart .shipping-calculator-form .form-row {
    margin-bottom: 10px;
}
.zb-wc-cart .shipping-calculator-form .button {
    padding: 10px 20px;
    margin-top: 4px;
}

/* Cross-sells */
.zb-wc-cart .cross-sells {
    margin-top: 40px;
}
.zb-wc-cart .cross-sells h2 {
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
}
.zb-wc-cart .cross-sells ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 20px;
}
.zb-wc-cart .cross-sells ul.products li.product {
    margin: 0;
    padding: 0;
    width: auto;
    float: none;
}
.zb-wc-cart .cross-sells ul.products li.product a img {
    width: 100%;
    margin: 0 0 10px;
}
.zb-wc-cart .cross-sells ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px;
    font-weight: 400;
    padding: 0;
    margin: 0 0 4px;
}
.zb-wc-cart .cross-sells ul.products li.product .price {
    font-size: 12px;
    color: #666;
}

/* =========================================================================
   WooCommerce: Checkout Page (.zb-wc-checkout)
   ========================================================================= */

/* Two-column desktop layout */
.zb-wc-checkout > .woocommerce,
.zb-wc-checkout .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}
.zb-wc-checkout .woocommerce > .woocommerce-notices-wrapper {
    flex: 0 0 100%;
}
.zb-wc-checkout .woocommerce > .woocommerce-form-login-toggle,
.zb-wc-checkout .woocommerce > .woocommerce-form-coupon-toggle {
    flex: 0 0 100%;
    font-size: 12px;
}
.zb-wc-checkout .woocommerce > form.woocommerce-form-login,
.zb-wc-checkout .woocommerce > form.checkout_coupon {
    flex: 0 0 100%;
    background: #fafafa;
    padding: 24px;
    margin-bottom: 12px;
}
.zb-wc-checkout .woocommerce > form.checkout,
.zb-wc-checkout .woocommerce > form.woocommerce-checkout {
    display: contents;
}
.zb-wc-checkout .woocommerce .col2-set,
.zb-wc-checkout .woocommerce #customer_details {
    flex: 1 1 55%;
    min-width: 0;
}
.zb-wc-checkout .woocommerce #order_review_heading {
    flex: 0 0 100%;
    display: none;
}
.zb-wc-checkout .woocommerce #order_review {
    flex: 0 0 38%;
    min-width: 320px;
    background: #fafafa;
    padding: 28px;
    position: sticky;
    top: 160px;
    align-self: flex-start;
}

/* Section titles */
.zb-wc-checkout h3,
.zb-wc-checkout .woocommerce-billing-fields h3,
.zb-wc-checkout .woocommerce-shipping-fields h3,
.zb-wc-checkout .woocommerce-additional-fields h3 {
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e5e5;
    color: #000;
}

/* Form fields */
.zb-wc-checkout .form-row {
    margin-bottom: 16px;
    padding: 0;
    float: none;
    width: 100%;
}
.zb-wc-checkout .form-row-first,
.zb-wc-checkout .form-row-last {
    width: 48%;
    display: inline-block;
    vertical-align: top;
}
.zb-wc-checkout .form-row-first {
    margin-right: 2%;
}
.zb-wc-checkout .form-row label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
    font-weight: 500;
    color: #333;
}
.zb-wc-checkout .form-row label .required {
    color: #b30022;
    font-weight: 400;
}
.zb-wc-checkout .form-row .woocommerce-input-wrapper {
    width: 100%;
}
.zb-wc-checkout .form-row .select2-container {
    width: 100% !important;
}
.zb-wc-checkout .form-row .select2-container .select2-selection--single {
    height: auto;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    padding: 10px 14px;
}
.zb-wc-checkout .form-row .select2-container .select2-selection--single:focus {
    border-color: #000;
}
.zb-wc-checkout .form-row .select2-container .select2-selection__rendered {
    padding: 0;
    line-height: 1.5;
    font-size: 13px;
}
.zb-wc-checkout .form-row .select2-container .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
    right: 12px;
}
.zb-wc-checkout .woocommerce-validated input {
    border-color: #ccc;
}
.zb-wc-checkout .woocommerce-invalid input {
    border-color: #b30022;
}

/* Order notes */
.zb-wc-checkout .woocommerce-additional-fields {
    margin-top: 24px;
}
.zb-wc-checkout #order_comments {
    min-height: 100px;
    resize: vertical;
}

/* Order review table */
.zb-wc-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    margin-bottom: 20px;
}
.zb-wc-checkout .woocommerce-checkout-review-order-table thead th {
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 12px 0;
    border-bottom: 1px solid #ddd;
    text-align: left;
    color: #666;
}
.zb-wc-checkout .woocommerce-checkout-review-order-table thead th:last-child {
    text-align: right;
}
.zb-wc-checkout .woocommerce-checkout-review-order-table tbody td,
.zb-wc-checkout .woocommerce-checkout-review-order-table tfoot td,
.zb-wc-checkout .woocommerce-checkout-review-order-table tfoot th {
    padding: 12px 0;
    font-size: 12px;
    border-bottom: 1px solid #eee;
}
.zb-wc-checkout .woocommerce-checkout-review-order-table tfoot th {
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #666;
}
.zb-wc-checkout .woocommerce-checkout-review-order-table tbody td:last-child,
.zb-wc-checkout .woocommerce-checkout-review-order-table tfoot td:last-child {
    text-align: right;
}
.zb-wc-checkout .woocommerce-checkout-review-order-table .order-total th,
.zb-wc-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-size: 15px;
    font-weight: 600;
    border-bottom: none;
    padding-top: 16px;
    color: #000;
}

/* Payment methods */
.zb-wc-checkout .woocommerce-checkout-payment {
    margin-top: 24px;
    background: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
}
.zb-wc-checkout .wc_payment_methods {
    padding: 0;
    margin: 0 0 20px;
    border: none;
}
.zb-wc-checkout .wc_payment_method {
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}
.zb-wc-checkout .wc_payment_method label {
    font-size: 13px;
    cursor: pointer;
    display: inline;
    font-weight: 400;
    letter-spacing: 0.02em;
}
.zb-wc-checkout .wc_payment_method input[type="radio"] {
    width: auto;
    margin-right: 8px;
    vertical-align: middle;
}
.zb-wc-checkout .payment_box {
    font-size: 12px;
    color: #666;
    padding: 10px 0 0 24px;
    background: transparent;
    border: none;
    margin: 0;
    line-height: 1.8;
}
.zb-wc-checkout .payment_box::before {
    display: none;
}

/* Place order button */
.zb-wc-checkout #place_order {
    display: block;
    width: 100%;
    padding: 16px;
    font-size: 12px;
    letter-spacing: 0.2em;
    margin-top: 16px;
    font-weight: 600;
}

/* Privacy & Terms */
.zb-wc-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 12px;
    font-size: 11px;
    color: #888;
    line-height: 1.6;
}

/* =========================================================================
   WooCommerce: My Account Page (.zb-wc-account)
   ========================================================================= */
.zb-wc-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 100%;
    margin-bottom: 24px;
    border-bottom: 1px solid #e5e5e5;
}
.zb-wc-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}
.zb-wc-account .woocommerce-MyAccount-navigation ul li {
    list-style: none;
}
.zb-wc-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 20px;
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #666;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}
.zb-wc-account .woocommerce-MyAccount-navigation ul li.is-active a,
.zb-wc-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #000;
    border-bottom-color: #000;
}
.zb-wc-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
}
.zb-wc-account .woocommerce-MyAccount-content p {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 16px;
}
.zb-wc-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.zb-wc-account .woocommerce-MyAccount-content table {
    width: 100%;
    font-size: 12px;
}
.zb-wc-account .woocommerce-MyAccount-content table th {
    font-size: 10px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 12px 8px;
    border-bottom: 1px solid #e5e5e5;
    text-align: left;
    color: #666;
}
.zb-wc-account .woocommerce-MyAccount-content table td {
    padding: 14px 8px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}

/* Login / Register forms */
.zb-wc-account .woocommerce-form-login,
.zb-wc-account .woocommerce-form-register {
    max-width: 480px;
    margin: 0 auto;
}
.zb-wc-account .woocommerce-form-login .form-row,
.zb-wc-account .woocommerce-form-register .form-row {
    margin-bottom: 16px;
}
.zb-wc-account .woocommerce-form-login label,
.zb-wc-account .woocommerce-form-register label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
    font-weight: 500;
}
.zb-wc-account .lost_password {
    margin-top: 12px;
    font-size: 11px;
}

/* =========================================================================
   WooCommerce: Responsive — Mobile single-column
   ========================================================================= */
@media (max-width: 767px) {
    /* Cart → stack */
    .zb-wc-cart > .woocommerce {
        gap: 24px;
    }
    .zb-wc-cart .woocommerce > form.woocommerce-cart-form,
    .zb-wc-cart .woocommerce > .woocommerce-cart-form,
    .zb-wc-cart .woocommerce > .cart-collaterals {
        flex: 0 0 100%;
        min-width: 0;
        position: static;
    }

    /* Cart table → card-style per row */
    .zb-wc-cart .shop_table,
    .zb-wc-cart .shop_table thead,
    .zb-wc-cart .shop_table tbody,
    .zb-wc-cart .shop_table tfoot,
    .zb-wc-cart .shop_table th,
    .zb-wc-cart .shop_table td,
    .zb-wc-cart .shop_table tr {
        display: block;
        width: 100%;
    }
    .zb-wc-cart .shop_table thead tr {
        display: none;
    }
    .zb-wc-cart .shop_table tbody tr {
        margin-bottom: 16px;
        padding: 16px 0;
        border-bottom: 1px solid #f0f0f0;
        display: grid;
        grid-template-columns: 80px 1fr auto;
        grid-template-rows: auto;
        gap: 8px;
        align-items: center;
    }
    .zb-wc-cart .shop_table td {
        padding: 4px 0;
        border: none;
    }
    .zb-wc-cart .shop_table .product-thumbnail {
        grid-row: 1 / 4;
        width: auto;
    }
    .zb-wc-cart .shop_table .product-name {
        grid-column: 2;
    }
    .zb-wc-cart .shop_table .product-price {
        grid-column: 2;
        font-size: 12px;
        color: #666;
    }
    .zb-wc-cart .shop_table .product-quantity {
        grid-column: 2;
    }
    .zb-wc-cart .shop_table .product-subtotal {
        grid-column: 3;
        grid-row: 1;
        text-align: right;
    }
    .zb-wc-cart .shop_table .product-remove {
        grid-column: 3;
        grid-row: 2 / 4;
        text-align: right;
        width: auto;
    }
    .zb-wc-cart .shop_table .actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        padding: 16px 0;
    }
    .zb-wc-cart .shop_table .actions .coupon {
        flex: 1 1 100%;
    }
    .zb-wc-cart .shop_table .actions .coupon input[type="text"] {
        width: 100%;
        flex: 1;
    }
    .zb-wc-cart .shop_table .actions > .button {
        float: none;
        width: 100%;
    }

    /* Checkout → stack */
    .zb-wc-checkout > .woocommerce,
    .zb-wc-checkout .woocommerce {
        gap: 24px;
    }
    .zb-wc-checkout .woocommerce .col2-set,
    .zb-wc-checkout .woocommerce #customer_details {
        flex: 0 0 100%;
    }
    .zb-wc-checkout .woocommerce #order_review {
        flex: 0 0 100%;
        min-width: 0;
        position: static;
    }
    .zb-wc-checkout .form-row-first,
    .zb-wc-checkout .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    /* Account nav → scroll */
    .zb-wc-account .woocommerce-MyAccount-navigation ul {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .zb-wc-account .woocommerce-MyAccount-navigation ul li a {
        white-space: nowrap;
        padding: 10px 14px;
    }
}

/* =========================================================================
   Blog: Post Content & Page Content
   ========================================================================= */
.zb-post-content p,
.zb-page-content p {
    margin-bottom: 1.6em;
}
.zb-post-content h2,
.zb-page-content h2 {
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin: 2em 0 0.8em;
}
.zb-post-content h3,
.zb-page-content h3 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 1.8em 0 0.6em;
}
.zb-post-content img,
.zb-page-content img {
    max-width: 100%;
    height: auto;
    margin: 1.5em 0;
}
.zb-post-content a,
.zb-page-content a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}
.zb-post-content a:hover,
.zb-page-content a:hover {
    color: #b30022;
}
.zb-post-content blockquote,
.zb-page-content blockquote {
    border-left: 2px solid #000;
    padding-left: 20px;
    margin: 2em 0;
    font-style: italic;
    color: #555;
}
.zb-post-content ul,
.zb-page-content ul {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 1.5em;
}
.zb-post-content ol,
.zb-page-content ol {
    list-style: decimal;
    padding-left: 20px;
    margin-bottom: 1.5em;
}
.zb-post-content li,
.zb-page-content li {
    margin-bottom: 0.5em;
}
.zb-post-content table,
.zb-page-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
}
.zb-post-content th,
.zb-page-content th {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 10px 12px;
    border-bottom: 2px solid #000;
    text-align: left;
}
.zb-post-content td,
.zb-page-content td {
    padding: 10px 12px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}

/* --- Pagination --- */
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    margin: 0 4px;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #666;
    text-decoration: none;
    border: 1px solid #e5e5e5;
    transition: all 0.2s;
}
.page-numbers:hover {
    border-color: #000;
    color: #000;
}
.page-numbers.current {
    background: #000;
    color: #fff;
    border-color: #000;
}
.page-numbers.prev,
.page-numbers.next {
    border: none;
    color: #999;
}
.page-numbers.prev:hover,
.page-numbers.next:hover {
    color: #000;
}
