/*
Theme Name:   LENO FOOTWEAR Child
Theme URI:    https://lenofootwear.com
Description:  LENO FOOTWEAR 品牌子主题 — 暖米色 · 炭灰色 · 金色配色，优雅字体与布局
Author:       LENO FOOTWEAR
Template:     astra
Version:      1.0.0
*/

/* ============================================================
   1. CSS 变量定义 — 品牌色彩系统
   ============================================================ */
:root {
    /* 暖米色系 */
    --leno-beige-light:   #FAF6F0;   /* 页面背景 */
    --leno-beige:         #F2EAD8;   /* 区块背景 */
    --leno-beige-mid:     #E8DCC8;   /* 边框/分割线 */
    --leno-beige-dark:    #C8B89A;   /* 辅助文字背景 */

    /* 炭灰色系 */
    --leno-charcoal:      #2A2A2A;   /* 主标题 */
    --leno-charcoal-mid:  #3D3D3D;   /* 导航/副标题 */
    --leno-gray:          #5A5A5A;   /* 正文 */
    --leno-gray-light:    #8A8A8A;   /* 辅助文字 */

    /* 金色系 */
    --leno-gold:          #C4973E;   /* 主金色（按钮/强调） */
    --leno-gold-light:    #D4AF72;   /* 浅金色（悬停/装饰） */
    --leno-gold-dark:     #A67C30;   /* 深金色（按钮悬停） */
    --leno-gold-pale:     #F0E6CE;   /* 极浅金（背景点缀） */

    /* 白色 */
    --leno-white:         #FFFFFF;
    --leno-off-white:     #FDFAF5;

    /* 字体 */
    --font-heading:       'Cormorant Garamond', 'Georgia', serif;
    --font-display:       'Cinzel', serif;
    --font-body:          'Raleway', 'Helvetica Neue', sans-serif;

    /* 间距 */
    --leno-radius:        2px;
    --leno-radius-sm:     1px;

    /* 过渡 */
    --leno-transition:    all 0.3s ease;
}

/* 覆盖 Astra 全局 CSS 变量 */
:root {
    --ast-global-color-0: var(--leno-gold);
    --ast-global-color-1: var(--leno-gold-dark);
    --ast-global-color-2: var(--leno-charcoal);
    --ast-global-color-3: var(--leno-gray);
    --ast-global-color-4: var(--leno-beige-light);
    --ast-global-color-5: var(--leno-beige);
    --ast-global-color-6: var(--leno-charcoal);
    --ast-global-color-7: var(--leno-beige-mid);
    --ast-global-color-8: var(--leno-gold);
}

/* ============================================================
   2. 全局基础样式
   ============================================================ */
html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--leno-beige-light) !important;
    color: var(--leno-gray) !important;
    font-family: var(--font-body) !important;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.02em;
}

/* ============================================================
   3. 排版 — 标题
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.ast-header-logo-title {
    font-family: var(--font-heading) !important;
    color: var(--leno-charcoal) !important;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.3;
}

h1 { font-size: 2.8em; font-weight: 400; }
h2 { font-size: 2.2em; font-weight: 500; }
h3 { font-size: 1.7em; font-weight: 500; }
h4 { font-size: 1.3em; font-weight: 600; }

p {
    font-family: var(--font-body);
    color: var(--leno-gray);
    line-height: 1.85;
}

a {
    color: var(--leno-gold-dark) !important;
    text-decoration: none;
    transition: var(--leno-transition);
}

a:hover {
    color: var(--leno-gold) !important;
}

/* ============================================================
   4. 顶部导航栏（Header）
   ============================================================ */
.ast-desktop-header,
#masthead,
.site-header,
.ast-primary-header-bar {
    background-color: var(--leno-charcoal) !important;
    border-bottom: 1px solid var(--leno-gold-dark) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
}

/* Logo / 品牌名 */
.site-title a,
.ast-site-title-wrap a,
.ast-header-logo-title {
    color: var(--leno-off-white) !important;
    font-family: var(--font-display) !important;
    font-size: 1.5em !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
}

/* 主导航菜单链接 */
.main-navigation a,
.ast-main-header-bar-alignment a,
.ast-nav-menu a,
#site-navigation a,
.nav-menu a {
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--leno-beige) !important;
    padding: 8px 16px !important;
    transition: var(--leno-transition);
}

.main-navigation a:hover,
.ast-nav-menu a:hover,
#site-navigation a:hover,
.nav-menu a:hover {
    color: var(--leno-gold-light) !important;
}

/* 导航当前项 */
.current-menu-item > a,
.current-menu-ancestor > a {
    color: var(--leno-gold-light) !important;
    border-bottom: 1px solid var(--leno-gold-light);
}

/* 下拉菜单 */
.ast-nav-menu .sub-menu,
.main-navigation .sub-menu {
    background-color: var(--leno-charcoal-mid) !important;
    border: 1px solid var(--leno-gold-dark) !important;
    border-top: 2px solid var(--leno-gold) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.ast-nav-menu .sub-menu a,
.main-navigation .sub-menu a {
    color: var(--leno-beige) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    border-bottom: 1px solid rgba(196, 151, 62, 0.15) !important;
    padding: 10px 20px !important;
}

.ast-nav-menu .sub-menu a:hover,
.main-navigation .sub-menu a:hover {
    background-color: rgba(196, 151, 62, 0.1) !important;
    color: var(--leno-gold-light) !important;
}

/* 购物车图标 */
.ast-header-woo-cart .ast-cart-menu-wrap .count,
.woocommerce-mini-cart__total .amount {
    color: var(--leno-gold) !important;
}

/* ============================================================
   5. Hero / Banner 区域
   ============================================================ */
.wp-block-cover,
.wp-block-cover-image,
.hero-section,
[class*="hero"],
[class*="banner"] {
    position: relative;
}

.wp-block-cover::after,
.wp-block-cover-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(42, 42, 42, 0.3) 0%,
        rgba(42, 42, 42, 0.5) 100%
    );
    pointer-events: none;
}

.wp-block-cover__inner-container h1,
.wp-block-cover__inner-container h2,
.wp-block-cover__inner-container p {
    color: var(--leno-off-white) !important;
}

/* ============================================================
   6. 按钮
   ============================================================ */
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.btn,
button[type="submit"],
input[type="submit"],
.ast-button,
a.ast-button {
    background-color: var(--leno-gold) !important;
    color: var(--leno-white) !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    border: 1px solid var(--leno-gold) !important;
    border-radius: var(--leno-radius) !important;
    padding: 14px 36px !important;
    transition: var(--leno-transition) !important;
    cursor: pointer;
}

.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.ast-button:hover,
a.ast-button:hover {
    background-color: transparent !important;
    color: var(--leno-gold) !important;
    border-color: var(--leno-gold) !important;
}

/* 描边按钮变体 */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--leno-gold) !important;
    border: 1px solid var(--leno-gold) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--leno-gold) !important;
    color: var(--leno-white) !important;
}

/* ============================================================
   7. WooCommerce — 产品卡片
   ============================================================ */
.woocommerce ul.products li.product,
.wc-block-grid__product {
    background-color: var(--leno-white) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    border-radius: var(--leno-radius) !important;
    transition: var(--leno-transition) !important;
    overflow: hidden;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover {
    box-shadow: 0 8px 40px rgba(42, 42, 42, 0.12) !important;
    transform: translateY(-4px);
    border-color: var(--leno-gold-light) !important;
}

/* 产品名称 */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
    font-family: var(--font-heading) !important;
    font-size: 1.15em !important;
    font-weight: 500 !important;
    color: var(--leno-charcoal) !important;
    letter-spacing: 0.03em !important;
}

/* 产品价格 */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.wc-block-grid__product-price {
    color: var(--leno-gold-dark) !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 1em !important;
    letter-spacing: 0.05em;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
    color: var(--leno-gray-light) !important;
    font-weight: 400;
}

/* 添加到购物车按钮 */
.woocommerce ul.products li.product .button {
    background-color: var(--leno-charcoal) !important;
    color: var(--leno-beige) !important;
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
    border: 1px solid var(--leno-charcoal) !important;
    padding: 10px 20px !important;
}

.woocommerce ul.products li.product .button:hover {
    background-color: var(--leno-gold) !important;
    border-color: var(--leno-gold) !important;
    color: var(--leno-white) !important;
}

/* 产品徽章（Sale / New） */
.woocommerce span.onsale,
.wc-block-grid__product-onsale {
    background-color: var(--leno-gold) !important;
    color: var(--leno-white) !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 600;
    letter-spacing: 0.1em;
    border-radius: 0 !important;
    padding: 4px 10px !important;
}

/* 产品图片区域 */
.woocommerce ul.products li.product a img {
    transition: transform 0.5s ease !important;
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.04);
}

/* ============================================================
   8. WooCommerce — 单品页
   ============================================================ */
.woocommerce div.product .product_title {
    font-family: var(--font-heading) !important;
    color: var(--leno-charcoal) !important;
    font-size: 2.2em !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--leno-gray) !important;
    font-family: var(--font-body) !important;
    line-height: 1.85 !important;
    border-top: 1px solid var(--leno-beige-mid);
    padding-top: 20px;
    margin-top: 16px;
}

/* 产品元信息（SKU/分类等） */
.woocommerce div.product .product_meta {
    font-size: 12px;
    letter-spacing: 0.08em;
    color: var(--leno-gray-light) !important;
    border-top: 1px solid var(--leno-beige-mid);
    padding-top: 16px;
    margin-top: 20px;
}

/* 产品标签 */
.woocommerce div.product .tagged_as a,
.woocommerce div.product .posted_in a {
    color: var(--leno-gold-dark) !important;
}

/* 数量选择器 */
.woocommerce .quantity input.qty {
    border: 1px solid var(--leno-beige-mid) !important;
    background: var(--leno-off-white) !important;
    color: var(--leno-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 14px;
    text-align: center;
    border-radius: var(--leno-radius);
}

/* 产品 Tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--leno-gray) !important;
    font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--leno-charcoal) !important;
    border-bottom: 2px solid var(--leno-gold) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--leno-beige-mid) !important;
}

/* ============================================================
   9. WooCommerce — 购物车 & 结账
   ============================================================ */
.woocommerce-cart table.cart,
.woocommerce-checkout form.checkout {
    background: var(--leno-white);
    border: 1px solid var(--leno-beige-mid);
}

.woocommerce table.shop_table th {
    background: var(--leno-beige) !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--leno-charcoal-mid) !important;
    border-bottom: 2px solid var(--leno-gold) !important;
}

.woocommerce table.shop_table td {
    border-bottom: 1px solid var(--leno-beige-mid) !important;
    font-family: var(--font-body) !important;
    color: var(--leno-gray) !important;
}

/* 订单总计 */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
    background: var(--leno-beige) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    padding: 30px !important;
}

/* ============================================================
   10. 侧边栏 & 小工具
   ============================================================ */
.widget-area,
#secondary {
    background: transparent;
}

.widget {
    background: var(--leno-white) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    padding: 28px !important;
    margin-bottom: 28px !important;
}

.widget-title,
.widgettitle {
    font-family: var(--font-heading) !important;
    color: var(--leno-charcoal) !important;
    font-size: 1.1em !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    border-bottom: 1px solid var(--leno-gold) !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
}

/* ============================================================
   11. 表单输入框
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
    background-color: var(--leno-off-white) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    border-radius: var(--leno-radius) !important;
    color: var(--leno-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
    transition: border-color 0.25s ease;
    outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border-color: var(--leno-gold) !important;
    box-shadow: 0 0 0 3px rgba(196, 151, 62, 0.12) !important;
}

label {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--leno-charcoal-mid) !important;
    display: block;
    margin-bottom: 6px;
}

/* ============================================================
   12. 页脚（Footer）
   ============================================================ */
.site-footer,
#colophon,
.ast-footer-overlay {
    background-color: var(--leno-charcoal) !important;
    border-top: 2px solid var(--leno-gold-dark) !important;
    color: var(--leno-off-white) !important;
}

.site-footer a,
#colophon a {
    color: rgba(250,248,244,0.5) !important;
    transition: color 0.25s ease;
}

.site-footer a:hover,
#colophon a:hover {
    color: var(--leno-gold-light) !important;
    opacity: 1;
}

.site-footer .widget-title,
.site-footer .widgettitle,
#colophon .widget-title {
    font-family: var(--font-heading) !important;
    color: var(--leno-off-white) !important;
    font-size: 1em !important;
    letter-spacing: 0.12em !important;
    border-bottom-color: var(--leno-gold-dark) !important;
    opacity: 1;
}

/* 版权栏 */
.ast-footer-copyright,
.site-info,
.ast-small-footer {
    background-color: var(--leno-charcoal) !important;
    border-top: 1px solid rgba(196, 151, 62, 0.2) !important;
    color: rgba(250,248,244,0.5) !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.1em;
    padding: 16px 0 !important;
}

/* ============================================================
   13. 面包屑导航
   ============================================================ */
.ast-breadcrumbs-wrapper,
.astra-breadcrumbs {
    background: var(--leno-beige) !important;
    border-bottom: 1px solid var(--leno-beige-mid) !important;
    padding: 10px 0 !important;
}

.astra-breadcrumbs span,
.astra-breadcrumbs a {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    color: var(--leno-gray-light) !important;
}

.astra-breadcrumbs a:hover {
    color: var(--leno-gold) !important;
}

/* ============================================================
   14. 博客 / 文章卡片
   ============================================================ */
.ast-article-post,
.post,
article.type-post {
    background: var(--leno-white) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    margin-bottom: 32px !important;
    transition: box-shadow 0.3s ease;
}

.ast-article-post:hover,
article.type-post:hover {
    box-shadow: 0 6px 30px rgba(42, 42, 42, 0.1) !important;
}

.entry-title a {
    font-family: var(--font-heading) !important;
    color: var(--leno-charcoal) !important;
}

.entry-title a:hover {
    color: var(--leno-gold-dark) !important;
}

.entry-meta {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    color: var(--leno-gray-light) !important;
    text-transform: uppercase;
}

/* ============================================================
   15. 装饰性元素 — 分隔线 / 引用块
   ============================================================ */
hr {
    border: none;
    border-top: 1px solid var(--leno-beige-mid);
    margin: 40px 0;
}

blockquote {
    border-left: 3px solid var(--leno-gold) !important;
    background: var(--leno-gold-pale) !important;
    padding: 20px 28px !important;
    font-family: var(--font-heading) !important;
    font-size: 1.2em !important;
    font-style: italic;
    color: var(--leno-charcoal-mid) !important;
    margin: 32px 0;
}

/* ============================================================
   16. 通知 / 提示框
   ============================================================ */
.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--leno-gold) !important;
    background: var(--leno-gold-pale) !important;
    color: var(--leno-charcoal) !important;
    font-family: var(--font-body) !important;
}

.woocommerce-error {
    border-top-color: #c0392b !important;
    background: #fdf2f2 !important;
}

/* ============================================================
   17. 搜索栏
   ============================================================ */
.search-field {
    background: var(--leno-off-white) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    font-family: var(--font-body) !important;
}

.search-submit {
    background: var(--leno-gold) !important;
    color: var(--leno-white) !important;
    border: none !important;
    font-family: var(--font-body) !important;
    letter-spacing: 0.1em;
}

/* ============================================================
   18. 分页
   ============================================================ */
.page-numbers {
    background: var(--leno-white) !important;
    border: 1px solid var(--leno-beige-mid) !important;
    color: var(--leno-gray) !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    padding: 8px 14px !important;
    transition: var(--leno-transition);
}

.page-numbers.current,
.page-numbers:hover {
    background: var(--leno-gold) !important;
    border-color: var(--leno-gold) !important;
    color: var(--leno-white) !important;
}

/* ============================================================
   19. 回到顶部按钮
   ============================================================ */
#scroll-to-top,
.ast-scroll-to-top {
    background-color: var(--leno-gold) !important;
    color: var(--leno-white) !important;
    border-radius: 0 !important;
}

/* ============================================================
   20. 装饰分隔线（金色横线）
   ============================================================ */
.wp-block-separator:not(.is-style-dots) {
    border-color: var(--leno-gold-light) !important;
    border-top-width: 1px;
}

/* ============================================================
   21. 响应式调整
   ============================================================ */
@media (max-width: 900px) {

    /* 首页手机端：隐藏 header */
    body.leno-hp #masthead,
    body.leno-hp .site-header,
    body.leno-hp .ast-desktop-header,
    body.leno-hp #ast-fixed-header {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        position: static !important;
    }

    /* 清除 Astra JS 注入到 body 上的 padding-top（为固定 header 留的空间） */
    body.leno-hp,
    body.leno-hp.ast-header-sticked,
    body.leno-hp.ast-sticky-active {
        padding-top: 0 !important;
    }

    /* 清除 #page / .site 上可能存在的顶部偏移 */
    body.leno-hp #page,
    body.leno-hp .site {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 768px) {
    h1 { font-size: 2em; }
    h2 { font-size: 1.7em; }
    h3 { font-size: 1.4em; }

    .ast-primary-header-bar {
        background-color: var(--leno-charcoal) !important;
    }

    /* 移动端汉堡菜单 */
    .ast-button-wrap .menu-toggle,
    .ast-mobile-menu-buttons .menu-toggle {
        color: var(--leno-beige) !important;
    }

    /* 移动端下拉菜单 */
    .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        background: var(--leno-charcoal) !important;
    }
}

/* ============================================================
   22. 精致细节增强
   ============================================================ */

/* 金色装饰线（标题下方） */
.ast-woocommerce-container h2,
.woocommerce-products-header h1 {
    position: relative;
    padding-bottom: 16px;
}

.ast-woocommerce-container h2::after {
    content: '';
    display: block;
    width: 48px;
    height: 1px;
    background: var(--leno-gold);
    margin-top: 12px;
}

/* 产品数量/筛选栏 */
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering select {
    border: 1px solid var(--leno-beige-mid) !important;
    background: var(--leno-off-white) !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    letter-spacing: 0.06em;
    color: var(--leno-charcoal) !important;
}

/* 星级评分 */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
    color: var(--leno-gold) !important;
}

/* 图片画廊边框 */
.woocommerce-product-gallery__image {
    border: 1px solid var(--leno-beige-mid) !important;
}

/* 选项卡激活态下划线 */
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: var(--leno-beige-mid) !important;
}

/* 加载动画 */
.woocommerce .blockUI.blockOverlay::before {
    color: var(--leno-gold) !important;
}
