/*
Theme Name: LianArtZ（帘艺装自制主题）
Theme URI: 
Author: 龙小军
Version: 1.5
Text Domain: lianartz
*/

/* ===== Color Variables (defaults, can be overridden via Appearance -> Customize) ===== */
:root{
    --lianartz-accent:#222222;
    --lianartz-header-bg:rgba(255,255,255,0.92);
    --lianartz-header-height:60px;
    --lianartz-header-blur:8px;
    --lianartz-header-shadow:0 2px 12px rgba(0,0,0,0.08);
    --lianartz-text:#222222;
    --lianartz-hero-bg:#f4f5f7;
    --lianartz-about-bg:#f7f7f7;
    --lianartz-footer-bg:#f7f7f7;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    line-height: 1.6;
    color:var(--lianartz-text);
    /* spacer height follows header height automatically */
    padding-top:var(--lianartz-header-height);
}
.container {
    max-width:1200px;
    margin:0 auto;
    padding:0 1rem;
}

/* ===== Floating Header: always fixed at the very top ===== */
.main-nav ul {
    display:flex;
    gap:2rem;
    list-style:none;
}
.main-nav a {
    text-decoration:none;
    color:var(--lianartz-text);
    white-space:nowrap;
}
.site-brand h1 a {
    color:var(--lianartz-text);
    text-decoration:none;
}
.site-header {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:9999;
    height:var(--lianartz-header-height);
    background:var(--lianartz-header-bg);
    -webkit-backdrop-filter:blur(var(--lianartz-header-blur)) saturate(180%);
    backdrop-filter:blur(var(--lianartz-header-blur)) saturate(180%);
    box-shadow:var(--lianartz-header-shadow);
}
.header-inner {
    position:relative;
    height:100%;
    display:flex;
    align-items:center;
    gap:1.5rem;
}
.site-brand h1 {
    font-size:1.5rem;
    white-space:nowrap;
}
.header-logo {
    max-height:40px;
    width:auto;
    display:block;
}

/* ===== Menu Position (set in Customizer: right/center/left) ===== */
/* Default (right): brand left, menu and tools right */
.site-header[data-menu-align="right"] .site-brand {
    margin-right:auto;
}
/* Center: menu absolutely centered, brand left, tools right */
.site-header[data-menu-align="center"] .site-brand {
    margin-right:auto;
}
.site-header[data-menu-align="center"] .main-nav {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}
.site-header[data-menu-align="center"] .header-tools {
    margin-left:auto;
}
/* Left: brand and menu left, tools right */
.site-header[data-menu-align="left"] .header-tools {
    margin-left:auto;
}

/* ===== Header Tools: Search / Filter / User / Cart ===== */
.header-tools {
    display:flex;
    align-items:center;
    gap:1.1rem;
}
.header-tool {
    position:relative;
    display:flex;
    align-items:center;
}
.tool-btn {
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    font-size:0.9rem;
    font-family:inherit;
    color:var(--lianartz-text);
    text-decoration:none;
    white-space:nowrap;
}
.tool-btn:hover {
    opacity:.65;
}

/* Cart count badge */
.header-cart .tool-btn {
    position:relative;
}
.header-cart-count {
    position:absolute;
    top:-8px;
    right:-11px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    background:var(--lianartz-accent);
    color:#fff;
    font-size:11px;
    line-height:17px;
    text-align:center;
    border-radius:9px;
}

/* Dropdown panels (search box / category filter) */
.tool-dropdown {
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    margin:0;
    background:#fff;
    border-radius:6px;
    box-shadow:0 6px 24px rgba(0,0,0,0.12);
    display:none;
    z-index:10000;
}
.tool-dropdown.open {
    display:block;
}

/* Search panel */
.tool-dropdown-search {
    padding:10px;
    display:none;
    width:300px;
    max-width:80vw;
}
.tool-dropdown-search.open {
    display:flex;
    gap:8px;
}
.search-input {
    flex:1;
    min-width:0;
    padding:8px 12px;
    border:1px solid #ddd;
    border-radius:4px;
    font-size:14px;
    font-family:inherit;
}
.search-input:focus {
    outline:none;
    border-color:var(--lianartz-accent);
}
.search-submit {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    border:none;
    border-radius:4px;
    background:var(--lianartz-accent);
    color:#fff;
    cursor:pointer;
}

/* Category filter panel */
.tool-dropdown-filter {
    list-style:none;
    min-width:180px;
    max-height:320px;
    overflow-y:auto;
    padding:6px 0;
}
.tool-dropdown-filter li a {
    display:block;
    padding:8px 16px;
    color:#333;
    text-decoration:none;
    font-size:14px;
}
.tool-dropdown-filter li a:hover {
    background:#f4f5f7;
}

/* ===== Mobile Bottom Bar (hidden on desktop) ===== */
.mobile-bottom-bar {
    display:none;
}

/* Small screens: only the logo stays on top, menu/search/filter/user/cart move to the bottom bar */
@media (max-width:768px) {
    html,
    body {
        overflow-x:hidden;
        max-width:100%;
    }
    .site-header .main-nav,
    .site-header .header-tools {
        display:none;
    }
    .site-header .header-inner {
        justify-content:center;
    }
    .site-header .site-brand h1 {
        font-size:1.15rem;
    }

    /* Bottom navigation bar */
    .mobile-bottom-bar {
        display:flex;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:9998;
        height:calc(56px + env(safe-area-inset-bottom, 0px));
        padding-bottom:env(safe-area-inset-bottom, 0px);
        background:var(--lianartz-header-bg);
        -webkit-backdrop-filter:blur(var(--lianartz-header-blur)) saturate(180%);
        backdrop-filter:blur(var(--lianartz-header-blur)) saturate(180%);
        box-shadow:0 -2px 12px rgba(0,0,0,0.08);
    }
    .mb-item {
        position:relative;
        flex:1;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .mb-btn {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:2px;
        width:100%;
        height:100%;
        padding:4px 0;
        background:none;
        border:none;
        color:var(--lianartz-text);
        text-decoration:none;
        cursor:pointer;
        font-size:11px;
        line-height:1.2;
    }
    .mb-btn svg {
        width:22px;
        height:22px;
    }
    .mb-label {
        white-space:nowrap;
    }
    .mb-icon-wrap {
        position:relative;
        display:inline-flex;
    }
    .mb-icon-wrap .header-cart-count {
        top:-6px;
        right:-10px;
    }

    /* Panels popping up above the bar */
    .mb-panel {
        position:absolute;
        top:auto;
        bottom:calc(100% + 10px);
        left:0;
        right:auto;
        transform:none;
        width:min(220px,70vw);
        min-width:0;
        max-width:80vw;
        max-height:60vh;
        overflow-y:auto;
    }
    .mb-panel.tool-dropdown-search {
        width:min(260px,78vw);
    }
    .mb-panel.tool-dropdown-filter {
        min-width:0;
    }
    #mb-menu-panel {
        left:8px;
        width:170px;
        padding:6px 0;
        background:#fff;
    }
    #mb-menu-panel ul {
        list-style:none;
        margin:0;
        padding:0;
    }
    #mb-menu-panel li a {
        display:block;
        padding:11px 18px;
        color:#333;
        text-decoration:none;
        font-size:14px;
        border-bottom:1px solid #f0f0f0;
    }
    #mb-menu-panel li:last-child a {
        border-bottom:none;
    }
    #mb-menu-panel li a:hover {
        background:#f4f5f7;
    }

    /* Bottom bar spacer to keep content from being covered */
    body {
        padding-bottom:calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    }
    /* Logged-in admin bar: fixed on mobile to prevent horizontal overflow */
    #wpadminbar {
        position:fixed !important;
        left:0;
        right:0;
        max-width:100%;
        overflow:hidden;
    }
}

/* Small screens: hide top text labels, keep icons only; reduce menu gap */
@media (max-width:768px) {
    .main-nav ul {
        gap:1rem;
    }
}

/* Admin bar compatibility when logged in */
body.admin-bar .site-header {
    top:32px;
}
body.admin-bar {
    padding-top:calc(32px + var(--lianartz-header-height));
}
@media (max-width:782px) {
    body.admin-bar .site-header {
        top:46px;
    }
    body.admin-bar {
        padding-top:calc(46px + var(--lianartz-header-height));
    }
    #wpadminbar {
        position:fixed !important;
        left:0;
        right:0;
        max-width:100%;
        overflow:hidden;
    }
}

/* ===== Home · Hero Banner ===== */
.hero-banner {
    background:var(--lianartz-hero-bg);
    background-size:cover;
    background-position:center;
    padding:4rem 0;
    text-align:center;
}
.hero-title {
    font-size:2.5rem;
    margin-bottom:1rem;
}
.hero-subtitle {
    font-size:1.1rem;
    color:#555;
    max-width:700px;
    margin:0 auto 2rem;
}
.hero-btn {
    display:inline-block;
    background:var(--lianartz-accent);
    color:#fff;
    padding:0.8rem 2rem;
    text-decoration:none;
    border-radius:4px;
    transition:opacity .2s ease;
}
.hero-btn:hover {
    opacity:.85;
}

/* ===== Home · Hero Carousel ===== */
.hero-carousel {
    position:relative;
    width:100%;
    overflow:hidden;
}
.hero-carousel-track {
    display:flex;
    transition:transform .6s ease;
}
.hero-slide {
    flex:0 0 100%;
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:var(--lianartz-hero-bg);
    background-size:cover;
    background-position:center;
    padding:4rem 0;
}
.hero-slide-content {
    position:relative;
    z-index:2;
    width:100%;
    flex:0 0 100%;
}
/* Text alignment: center (default) */
.hero-slide.align-center .hero-slide-content {
    text-align:center;
}
.hero-slide.align-center .hero-slide-subtitle {
    margin-left:auto;
    margin-right:auto;
}
/* Text alignment: left */
.hero-slide.align-left .hero-slide-content {
    text-align:left;
}
.hero-slide.align-left .hero-slide-subtitle {
    margin-left:0;
    margin-right:auto;
}
/* Text alignment: right */
.hero-slide.align-right .hero-slide-content {
    text-align:right;
}
.hero-slide.align-right .hero-slide-subtitle {
    margin-left:auto;
    margin-right:0;
}
.hero-slide-title {
    font-size:2.8rem;
    margin-bottom:1rem;
    text-shadow:0 2px 12px rgba(0,0,0,0.25);
}
.hero-slide-subtitle {
    font-size:1.15rem;
    max-width:720px;
    margin:0 auto 2rem;
    text-shadow:0 1px 8px rgba(0,0,0,0.3);
}
.hero-slide-btn {
    display:inline-block;
    color:#fff;
    padding:0.8rem 2.2rem;
    text-decoration:none;
    border-radius:4px;
    transition:opacity .2s ease;
}
.hero-slide-btn:hover {
    opacity:.85;
}

/* Text link style (e.g. "Learn More >") */
.hero-slide-textlink {
    display:inline-block;
    font-size:1.05rem;
    font-weight:600;
    text-decoration:none;
    padding:0.4rem 0;
    border-bottom:1px solid transparent;
    transition:border-color .2s ease, gap .2s ease;
}
.hero-slide-textlink .hero-textlink-arrow {
    display:inline-block;
    transition:transform .2s ease;
}
.hero-slide-textlink:hover {
    border-bottom-color:currentColor;
}
.hero-slide-textlink:hover .hero-textlink-arrow {
    transform:translateX(4px);
}

/* Prev / next arrows */
.hero-arrow {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:rgba(0,0,0,0.3);
    color:#fff;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s ease;
}
.hero-arrow:hover {
    background:rgba(0,0,0,0.55);
}
.hero-arrow-prev {
    left:18px;
}
.hero-arrow-next {
    right:18px;
}

/* Dot indicators */
.hero-dots {
    position:absolute;
    bottom:16px;
    left:0;
    right:0;
    z-index:5;
    display:flex;
    justify-content:center;
    gap:10px;
}
.hero-dot {
    width:10px;
    height:10px;
    padding:0;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,0.5);
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
}
.hero-dot.active {
    background:#fff;
    transform:scale(1.25);
}

@media (max-width:768px) {
    .hero-slide {
        min-height:320px;
    }
    .hero-slide-title {
        font-size:1.9rem;
    }
    .hero-arrow {
        width:36px;
        height:36px;
        font-size:16px;
    }
}

/* ===== Home · Featured Products ===== */
.home-recommend {
    padding:4rem 0;
}
.section-title {
    text-align:center;
    margin-bottom:3rem;
}
.product-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:2rem;
}
/* Unified product thumbnails */
.product-thumb img {
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:6px;
}
.woocommerce-page-title {
    text-align:center;
    margin:2rem 0 1rem;
}
.product-price {
    color:var(--lianartz-accent);
    font-weight:600;
    margin-bottom:.6rem;
}
.product-addcart .button,
.product-addcart button {
    display:inline-block;
    padding:.5rem 1.2rem;
    font-size:.9rem;
}

/* Mobile: two products per row */
@media (max-width:768px) {
    .product-grid {
        grid-template-columns:repeat(2,1fr);
        gap:1rem;
    }
    .product-name {
        font-size:.9rem;
        line-height:1.4;
    }
    .product-addcart .button,
    .product-addcart button,
    ul.products li.product .button {
        width:100%;
        padding:.5rem .4rem;
        font-size:.82rem;
        white-space:normal;
    }
}

/* WooCommerce standard product list compatibility (shortcodes/blocks/related) */
.woocommerce ul.products,
ul.products {
    display:grid !important;
    gap:1.5rem;
    margin:0;
    padding:0;
    list-style:none;
}
/* Woo clearfix pseudo elements would occupy grid cells - remove them */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
    content:none !important;
    display:none !important;
}
.woocommerce ul.products li.product,
ul.products li.product {
    float:none !important;
    display:block;
    margin:0 !important;
    width:auto !important;
    text-align:center;
    min-width:0;
}
.woocommerce ul.products li.product img,
ul.products li.product img {
    display:block;
    width:100% !important;
    max-width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:6px;
    margin:0 0 .6rem;
}
@media (min-width:769px) {
    .woocommerce ul.products,
    ul.products {
        grid-template-columns:repeat(4,1fr);
    }
}
@media (max-width:768px) {
    .woocommerce ul.products,
    ul.products {
        grid-template-columns:repeat(2,1fr) !important;
        gap:1rem;
    }
}
.product-card {
    text-align:center;
    min-width:0;
}
.product-thumb {
    min-width:0;
}
img {
    max-width:100%;
}
.product-name {
    margin:0.8rem 0 0.4rem;
    font-size:1rem;
}
.product-name a {
    color:var(--lianartz-text);
    text-decoration:none;
}
.home-empty {
    text-align:center;
}

/* ===== Home · About Us ===== */
.home-about {
    background:var(--lianartz-about-bg);
    padding:3rem 0;
}
.home-about-inner {
    max-width:800px;
}
.home-about-text {
    color:#444;
    line-height:1.8;
    text-align:center;
}

/* ===== About Us · Multi-column links layout ===== */
.home-about-links {
    padding:3.5rem 0 2rem;
}
.about-columns {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:2rem 2.5rem;
}
.about-col {
    min-width:0;
}
.about-col-title {
    font-size:1.15rem;
    font-weight:700;
    color:var(--lianartz-about-title);
    margin:0 0 1.4rem;
}
.about-col-links {
    list-style:none;
    margin:0;
    padding:0;
}
.about-col-links li {
    margin-bottom:1rem;
    line-height:1.4;
}
.about-col-links a {
    color:var(--lianartz-about-link);
    text-decoration:none;
    transition:color .2s ease;
}
.about-col-links a:hover {
    color:var(--lianartz-accent);
}
.about-more {
    display:inline-block;
    margin-top:.4rem;
    color:var(--lianartz-about-link);
    text-decoration:none;
    font-weight:500;
}
.about-more .about-more-arrow {
    display:inline-block;
    transition:transform .2s ease;
}
.about-more:hover {
    color:var(--lianartz-accent);
}
.about-more:hover .about-more-arrow {
    transform:translateX(4px);
}

/* Bottom bar: divider with links left and icons right */
.about-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:3rem;
    padding-top:1.8rem;
    border-top:1px solid rgba(0,0,0,0.1);
}
.about-bottom-links {
    display:flex;
    flex-wrap:wrap;
    gap:1.2rem 2.2rem;
}
.about-bottom-links a,
.about-bottom-links span {
    color:var(--lianartz-about-link);
    text-decoration:none;
    font-size:.95rem;
}
.about-bottom-links a:hover {
    color:var(--lianartz-accent);
}
.about-socials {
    display:flex;
    align-items:center;
    gap:1.2rem;
}
.about-social-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    color:#666;
    transition:color .2s ease, transform .2s ease;
}
.about-social-link svg {
    width:100%;
    height:100%;
}
.about-social-link .social-icon-img {
    width:32px;
    height:32px;
    object-fit:contain;
}
.about-social-link:hover {
    color:var(--lianartz-accent);
    transform:translateY(-2px);
}

@media (max-width:768px) {
    .about-columns {
        grid-template-columns:repeat(2,1fr);
        gap:1.8rem 1.5rem;
    }
    .about-bottom {
        justify-content:center;
        text-align:center;
    }
    .about-bottom-links {
        justify-content:center;
    }
}
@media (max-width:480px) {
    .about-columns {
        grid-template-columns:1fr;
    }
}

/* ===== Footer ===== */
.site-footer {
    margin-top:4rem;
    padding:2rem 0;
    background:var(--lianartz-footer-bg);
}

/* Footer menu element */
.footer-nav {
    margin-bottom:1rem;
}
.footer-menu {
    display:flex;
    flex-wrap:wrap;
    gap:.5rem 1.8rem;
    margin:0;
    padding:0;
    list-style:none;
}
.site-footer[data-menu-align="left"] .footer-menu {
    justify-content:flex-start;
}
.site-footer[data-menu-align="center"] .footer-menu {
    justify-content:center;
}
.site-footer[data-menu-align="right"] .footer-menu {
    justify-content:flex-end;
}
.footer-menu li {
    margin:0;
}
.footer-menu a {
    color:var(--lianartz-footer-link, #666);
    text-decoration:none;
    font-size:.9rem;
    white-space:nowrap;
    transition:opacity .2s;
}
.footer-menu a:hover {
    opacity:.65;
}

.site-footer .footer-text {
    margin:0;
    color:var(--lianartz-footer-text, #888);
    font-size:.85rem;
}
.footer-align-left .footer-text {
    text-align:left;
}
.footer-align-center .footer-text {
    text-align:center;
}
.footer-align-right .footer-text {
    text-align:right;
}

/* Public security filing number (PSB beian) */
.site-footer .footer-beian {
    display:flex;
    align-items:center;
    margin:.6rem 0 0;
}
.footer-align-left .footer-beian {
    justify-content:flex-start;
}
.footer-align-center .footer-beian {
    justify-content:center;
}
.footer-align-right .footer-beian {
    justify-content:flex-end;
}
.footer-beian a {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    color:var(--lianartz-footer-text, #888);
    font-size:.85rem;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:opacity .2s;
}
.footer-beian a:hover {
    opacity:.65;
}
.footer-beian-icon {
    width:16px;
    height:auto;
    display:block;
    flex:none;
}
@media (max-width:768px) {
    .footer-nav {
        margin-bottom:.8rem;
    }
    .footer-menu {
        gap:.4rem 1.1rem;
        justify-content:center !important;
    }
    .footer-menu a {
        font-size:.82rem;
    }
    .footer-align-left .footer-text,
    .footer-align-right .footer-text {
        text-align:center;
    }
    .footer-align-left .footer-beian,
    .footer-align-right .footer-beian {
        justify-content:center;
    }
}

/* ===== Single Product (Taobao style) ===== */
.tb-breadcrumb {
    font-size:.82rem;
    color:#999;
    margin:1.2rem 0;
}
.tb-breadcrumb a {
    color:#999;
    text-decoration:none;
}
.tb-breadcrumb a:hover {
    color:var(--lianartz-text);
}
.tb-breadcrumb .tb-breadcrumb-sep {
    margin:0 .45rem;
    color:#ccc;
}

/* Top section: gallery left, info right */
.tb-product-top {
    display:grid;
    grid-template-columns:440px minmax(0,1fr);
    gap:2.5rem;
    align-items:start;
}
.tb-gallery {
    position:relative;
}
.tb-main-image {
    position:relative;
    width:100%;
    aspect-ratio:1/1;
    background:#fff;
    border:1px solid #eee;
    border-radius:8px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:crosshair;
}
/* Hover zoom: magnified panel on the right */
.tb-zoom-view {
    position:absolute;
    top:0;
    left:calc(100% + 16px);
    width:100%;
    aspect-ratio:1/1;
    background-color:#fff;
    background-repeat:no-repeat;
    border:1px solid #eee;
    border-radius:8px;
    box-shadow:0 4px 18px rgba(0,0,0,.08);
    display:none;
    z-index:100;
    pointer-events:none;
}
.tb-zoom-view.open {
    display:block;
}
/* Hover zoom: translucent lens over the main image */
.tb-lens {
    position:absolute;
    background:rgba(255,255,255,.45);
    border:1px solid rgba(0,0,0,.25);
    display:none;
    pointer-events:none;
    z-index:2;
}
.tb-lens.open {
    display:block;
}
@media (max-width:992px) {
    .tb-zoom-view,
    .tb-lens {
        display:none !important;
    }
    .tb-main-image {
        cursor:default;
    }
}
.tb-main-img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.tb-thumbs {
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    margin-top:.8rem;
}
.tb-thumb {
    width:62px;
    height:62px;
    padding:0;
    border:2px solid transparent;
    border-radius:6px;
    background:#fff;
    cursor:pointer;
    overflow:hidden;
}
.tb-thumb.active {
    border-color:#ff5000;
}
.tb-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.tb-title {
    font-size:1.35rem;
    line-height:1.45;
    font-weight:600;
    margin:0 0 .6rem;
}
.tb-sub {
    color:#888;
    font-size:.9rem;
    margin-bottom:1rem;
}
.tb-price-box {
    display:flex;
    align-items:baseline;
    gap:.8rem;
    flex-wrap:wrap;
    background:linear-gradient(90deg,rgba(255,80,0,.07),rgba(255,80,0,.01));
    border-radius:8px;
    padding:.9rem 1rem;
    margin-bottom:1.2rem;
}
.tb-price-label {
    color:#ff5000;
    font-size:.85rem;
}
.tb-price {
    color:#ff0036;
    display:inline-flex;
    align-items:baseline;
    gap:.4rem;
}
.tb-price .amount {
    font-size:1.8rem;
    font-weight:700;
}
.tb-price del {
    color:#999;
    font-size:.85rem;
    font-weight:400;
}
.tb-price ins {
    text-decoration:none;
}
.tb-sales {
    color:#999;
    font-size:.85rem;
    margin-left:auto;
}

/* Cart area: SKU / quantity / button */
.tb-cart-area form.cart {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.8rem;
    margin:0 0 1.2rem;
}
/* Visual SKU options (Taobao-style buttons) */
.tb-cart-area .variations {
    width:100%;
    display:block;
    margin-bottom:.4rem;
}
.tb-attr {
    margin-bottom:1rem;
}
.tb-attr-label {
    font-size:.92rem;
    color:#333;
    margin-bottom:.6rem;
}
.tb-attr-options {
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
}
.tb-opt {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .9rem;
    background:#fff;
    border:1px solid #ddd;
    border-radius:6px;
    cursor:pointer;
    font-size:.9rem;
    font-family:inherit;
    line-height:1.3;
    color:var(--lianartz-text);
    transition:border-color .15s ease;
}
.tb-opt:hover {
    border-color:#999;
}
.tb-opt.active {
    border:2px solid #333;
    padding:.38rem .83rem;
    font-weight:600;
}
.tb-opt-img {
    display:inline-flex;
    width:32px;
    height:32px;
    border-radius:4px;
    overflow:hidden;
    background:#f5f5f5;
}
.tb-opt-thumb {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
/* Keep the native select hidden (compatible with WooCommerce variation JS and form submission) */
.tb-opt-select {
    display:none !important;
}
.single_variation_wrap {
    width:100%;
}
/* Reset link: right below the option rows */
.tb-variations-footer {
    width:100%;
    margin:.1rem 0 .3rem;
}
.tb-variations-footer .reset_variations {
    color:#999;
    font-size:.78rem;
    letter-spacing:.04em;
}
.tb-variations-footer .reset_variations:hover {
    color:#666;
}

/* Product meta: SKU / categories / tags / brand */
.tb-meta {
    list-style:none;
    margin:0 0 1.2rem;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:.35rem 2.5rem;
    font-size:.9rem;
    color:#555;
}
/* "Selected" row: updates with the chosen variations */
.tb-meta li.tb-meta-selected .tb-selected-opts {
    color:#ff0036;
    font-weight:600;
}
.tb-meta li {
    margin:0;
}
.tb-meta-label {
    font-weight:600;
    color:#222;
    margin-right:.35rem;
}
.tb-meta a {
    color:#555;
    text-decoration:none;
}
.tb-meta a:hover {
    color:var(--lianartz-text);
}
.tb-cart-area .single_variation {
    width:100%;
    margin:0 0 .6rem;
}
.tb-cart-area .single_variation:empty {
    margin:0;
}
/* Variation price between options and quantity row (shown when a variation is selected) */
.tb-cart-area .woocommerce-variation-price {
    display:block;
    color:#ff0036;
    font-size:1.3rem;
    font-weight:700;
}
.tb-cart-area .woocommerce-variation-price del {
    color:#999;
    font-size:.85rem;
    font-weight:400;
    margin-right:.45rem;
}
.tb-cart-area .woocommerce-variation-price ins {
    text-decoration:none;
}
.tb-cart-area .quantity {
    display:inline-flex;
    align-items:center;
    margin:0;
}
.tb-cart-area .quantity input.qty {
    width:52px;
    height:40px;
    text-align:center;
    border:1px solid #ddd;
    border-left:none;
    border-right:none;
    border-radius:0;
    margin:0;
    -moz-appearance:textfield;
}
.tb-cart-area .quantity input.qty::-webkit-inner-spin-button,
.tb-cart-area .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance:none;
    margin:0;
}
.qty-btn {
    width:32px;
    height:40px;
    border:1px solid #ddd;
    background:#fafafa;
    cursor:pointer;
    font-size:1.05rem;
    line-height:1;
    color:#666;
}
.qty-btn.qty-minus {
    border-radius:6px 0 0 6px;
}
.qty-btn.qty-plus {
    border-radius:0 6px 6px 0;
}
.tb-cart-area .single_add_to_cart_button {
    height:44px;
    padding:0 2.4rem;
    border:none;
    border-radius:999px;
    color:#fff;
    font-size:1rem;
    font-family:inherit;
    cursor:pointer;
    white-space:nowrap;
}
.tb-cart-area .single_add_to_cart_button {
    background:linear-gradient(90deg,#ff9000,#ffbe00);
}
.tb-cart-area .single_add_to_cart_button:hover {
    opacity:.88;
}

/* Bottom: detail tabs */
.tb-detail {
    margin-top:2.5rem;
    background:#fff;
    border:1px solid #eee;
    border-radius:8px;
    overflow:hidden;
}
.tb-tabs {
    display:flex;
    border-bottom:1px solid #eee;
}
.tb-tab {
    padding:.9rem 1.6rem;
    background:none;
    border:none;
    border-bottom:2px solid transparent;
    cursor:pointer;
    font-size:.95rem;
    font-family:inherit;
    color:#666;
}
.tb-tab.active {
    color:#ff5000;
    border-bottom-color:#ff5000;
    font-weight:600;
}
.tb-panel {
    display:none;
    padding:1.5rem;
}
.tb-panel.active {
    display:block;
}
/* Additional information: attributes table (Weight / Dimensions / attributes) */
.tb-panel > h2 {
    display:none;
}
.tb-panel .shop_attributes {
    width:100%;
    border-collapse:collapse;
    margin:0;
}
.tb-panel .shop_attributes th,
.tb-panel .shop_attributes td {
    border:1px solid #ececec;
    padding:.65rem 1rem;
    text-align:left;
    vertical-align:top;
    font-weight:400;
    color:#333;
}
.tb-panel .shop_attributes th {
    width:180px;
    font-weight:600;
    background:#fafafa;
    white-space:nowrap;
}
.tb-content {
    line-height:1.8;
    color:#333;
}
.tb-content img {
    max-width:100%;
    height:auto;
}
/* Pasted fixed-width table content (email-style layouts) adapts to the panel */
.tb-content table,
.tb-panel table {
    width:100% !important;
    max-width:100%;
    table-layout:fixed;
    border-collapse:collapse;
}
.tb-content td,
.tb-panel td {
    max-width:100%;
    padding:0;
}
.tb-content img,
.tb-panel img {
    max-width:100% !important;
    width:auto !important;
    height:auto !important;
}

/* You may also like */
.tb-related {
    margin-top:2.5rem;
}
.tb-related > h2 {
    font-size:1.15rem;
    margin:0 0 1.2rem;
}
.tb-related .related.products > h2 {
    display:none;
}
.tb-related ul.products {
    margin-bottom:0;
}

/* Reviews section tweaks */
.tb-panel .comment-form-rating .stars,
.tb-panel .star-rating {
    color:#ff9000;
}

@media (max-width:768px) {
    .tb-product-top {
        grid-template-columns:1fr;
        gap:1.2rem;
    }
    .tb-title {
        font-size:1.1rem;
    }
    .tb-price .amount {
        font-size:1.5rem;
    }
    .tb-sales {
        margin-left:0;
        width:100%;
    }
    .tb-cart-area form.cart {
        align-items:center;
    }
    .tb-cart-area .single_add_to_cart_button {
        flex:1;
        min-width:0;
        padding:0 1rem;
    }
    /* Detail tabs: stack vertically on mobile */
    .tb-tabs {
        flex-direction:column;
        border-bottom:1px solid #eee;
    }
    .tb-tab {
        width:100%;
        text-align:left;
        padding:.8rem 1rem;
        border-bottom:none;
        border-left:2px solid transparent;
        background:#fff;
    }
    .tb-tab + .tb-tab {
        border-top:1px solid #f0f0f0;
    }
    .tb-tab.active {
        color:#ff5000;
        border-left-color:#ff5000;
        background:#fff8f5;
    }
    /* Panel images scale to screen width */
    .tb-panel img,
    .tb-content img {
        max-width:100%;
        width:auto;
        height:auto;
        display:block;
    }
    .tb-panel {
        padding:1rem;
    }
}
