/*
Theme Name: GeneratePress Child - Baotian
Template: generatepress
Version: 2.0
Description: PageSpeed-optimized B2B furniture manufacturer theme. Red accent (#8B6914) on dark navy (#0B1120).
*/

/* ═══ Base ═══ */
*,::after,::before{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
  font-size:15px;line-height:1.65;color:#64748B;background:#FAFAFA;
  -webkit-font-smoothing:antialiased
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.bt-container{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-weight:700;line-height:1.15;color:#0F172A}
h1{font-size:clamp(30px,4.5vw,48px);letter-spacing:-0.03em}
h2{font-size:clamp(22px,2.8vw,32px);letter-spacing:-0.02em}
h3{font-size:15px;color:#1E293B}
h4{font-size:13px;color:#1E293B}
.bt-section{padding:clamp(50px,7vw,90px) 0}
.bt-s-header{margin-bottom:clamp(28px,4vw,48px)}
.bt-s-header h2{margin-bottom:6px}
.bt-s-header p{color:#64748B;font-size:14px;max-width:540px;line-height:1.7}
.bt-s-header .bt-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#8B6914;margin-bottom:10px;display:block}

/* ═══ Buttons ═══ */
.bt-btn{
  display:inline-flex;align-items:center;gap:6px;padding:9px 22px;
  font-size:12px;font-weight:600;border:none;cursor:pointer;font-family:inherit;
  transition:all .15s;letter-spacing:.01em
}
.bt-btn-p{background:#8B6914;color:#fff}
.bt-btn-p:hover{background:#C4975A}
.bt-btn-s{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.12)}
.bt-btn-s:hover{background:rgba(255,255,255,.04)}
.bt-btn-g{background:transparent;color:#0F172A;border:1px solid #CBD5E1}
.bt-btn-g:hover{background:#F1F5F9}
.bt-btn-group{display:flex;gap:8px;flex-wrap:wrap}
.bt-btn-w{background:#fff;color:#0F172A;border:1px solid #CBD5E1}
.bt-btn-w:hover{background:#F8FAFC}

/* ═══ Utility ═══ */
.bt-text-center{text-align:center}


/* ═══ Header (shared with template-home.php) ═══ */
/* ─── Header ─── */
.nav-toggle{display:none}

.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,0.96);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,0,0,0.04)
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto;padding:14px 24px
}
.logo{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-size:22px;font-weight:700;color:#0F172A;letter-spacing:-0.02em
}
.logo span{color:#8B6914}
.main-nav ul{display:flex;list-style:none;gap:28px;margin:0;padding:0}
.main-nav a{font-size:13px;font-weight:500;color:#4B5563;transition:color .2s;text-decoration:none}
.main-nav a:hover{color:#8B6914}
.nav-cta{
  background:#8B6914;color:#fff!important;padding:9px 20px;
  border-radius:4px;font-weight:600;font-size:12px;transition:background .15s
}
.nav-cta:hover{background:#C4975A!important}



/* ═══ Fixed Header: Push content down on inner pages ═══ */
.site.grid-container.container.hfeed#page,
#page.site {
    padding-top: 72px;
}
/* Homepage doesn't use GP layout, so it has its own padding */
body.home #page.site {
    padding-top: 0;
}

/* ═══ Override GP default header styles ═══ */
.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
    width: 100% !important;
    background: rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0,0,0,0.04) !important;
    box-shadow: none !important;
}
/* Remove GP default header padding */
.inside-header {
    padding: 0 !important;
}
/* Remove GP site branding margin */
.site-branding {
    margin: 0 !important;
    padding: 0 !important;
}
/* No GP decoration on main nav */
.main-navigation {
    display: none;  /* We use our own main-nav */
}

/* ═══ Responsive header fix ═══ */
@media(max-width:680px){
    #page.site { padding-top: 62px; }
}

/* === PRODUCT DETAIL PAGE OVERRIDES === */
.right-sidebar .widget-area, .right-sidebar .sidebar, .widget-area { display: none !important; }
.right-sidebar .site-content .content-area, .content-area { width: 100% !important; max-width: 100% !important; }
.featured-image.page-header-image-single { display: none !important; }
.inside-article { background: transparent !important; padding: 0 !important; }

/* Product flexbox layout */
div.product {
    display: flex !important; flex-wrap: wrap; gap: 40px;
    padding: 32px; background: #fff; border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04); margin-bottom: 32px;
}
.woocommerce div.product div.images { float: none !important; width: auto !important; margin-bottom: 0 !important; }
.woocommerce div.product div.summary { float: none !important; width: auto !important; margin-bottom: 0 !important; }
div.product .woocommerce-product-gallery { flex: 0 0 56% !important; max-width: 56% !important; margin: 0 !important; }
div.product .summary { flex: 0 0 calc(44% - 40px) !important; max-width: calc(44% - 40px) !important; }
div.product .woocommerce-tabs { flex: 0 0 100% !important; max-width: 100% !important; margin-top: 8px; }

/* Gallery */
.woocommerce-product-gallery { opacity: 1 !important; display: block !important; }
.woocommerce-product-gallery__wrapper { display: flex !important; flex-wrap: wrap; gap: 4px; }
.woocommerce-product-gallery__image:first-child {
    flex: 0 0 100% !important; width: 100% !important; float: none !important;
    display: flex !important; justify-content: center !important; align-items: center !important;
    background: #f9fafb !important; border-radius: 10px !important; overflow: hidden !important;
}
.woocommerce-product-gallery__image:first-child img {
    cursor: default !important; width: 100% !important; height: auto !important;
    max-height: 520px !important; object-fit: contain !important;
    border-radius: 10px; border: 1px solid #f3f4f6;
}
.woocommerce-product-gallery__image:first-child a { display: block; pointer-events: none; }
.woocommerce-product-gallery__image:not(:first-child) {
    flex: 0 0 calc(25% - 3px) !important; width: calc(25% - 3px) !important;
    display: block !important; float: none !important; margin: 0 !important; cursor: pointer;
}
.woocommerce-product-gallery__image:not(:first-child) a { pointer-events: none; }
.woocommerce-product-gallery__image:not(:first-child) img {
    width: 100% !important; height: 100% !important; object-fit: cover;
    opacity: .55; transition: opacity .2s, border-color .2s;
    border: 2px solid transparent; border-radius: 6px; aspect-ratio: 1;
}
.woocommerce-product-gallery__image:not(:first-child):hover img { opacity: .85; border-color: #d4b87a; }
.woocommerce-product-gallery__image.bt-active-thumb img { opacity: 1 !important; border-color: #8B6914 !important; }

/* Summary */
.product_title { font-size: 26px; font-weight: 700; color: #111827; margin: 0 0 8px; line-height: 1.3; }
.summary .price { font-size: 24px; color: #8B6914; font-weight: 700; margin: 0 0 16px; letter-spacing: -0.02em; }
.woocommerce-product-details__short-description { font-size: 15px; line-height: 1.75; color: #4b5563; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #f3f4f6; }
.woocommerce-product-details__short-description p { margin: 0; }
.product_meta { font-size: 13px; color: #9ca3af; margin-bottom: 20px; }
.product_meta > span { display: block; padding: 4px 0; }
.product_meta a { color: #6b7280; text-decoration: none; }
.product_meta a:hover { color: #8B6914; }
.sku_wrapper .sku { color: #1a1a2e; font-weight: 600; font-family: monospace; }
.summary a[href*="/contact/"] {
    display: inline-flex !important; align-items: center; gap: 8px;
    background: #8B6914 !important; color: #fff !important; padding: 14px 36px !important;
    border-radius: 8px !important; text-decoration: none !important; font-weight: 700 !important;
    font-size: 15px !important; transition: all .2s !important; box-shadow: 0 2px 8px rgba(139,105,20,.25) !important;
}
.summary a[href*="/contact/"]:hover { background: #a07824 !important; box-shadow: 0 4px 16px rgba(139,105,20,.35) !important; transform: translateY(-1px); }

/* Tabs */
.woocommerce-tabs { background: #fff; border-radius: 12px; padding: 32px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.woocommerce-tabs .tabs { border-bottom: 2px solid #f3f4f6; padding: 0 !important; margin: 0 0 28px !important; list-style: none !important; display: flex; overflow-x: auto; }
.woocommerce-tabs .tabs::before { display: none !important; }
.woocommerce-tabs .tabs li { margin: 0 !important; padding: 0 !important; border: none !important; background: none !important; border-radius: 0 !important; }
.woocommerce-tabs .tabs li::before, .woocommerce-tabs .tabs li::after { display: none !important; }
.woocommerce-tabs .tabs li a { display: block !important; padding: 12px 28px !important; font-size: 14px !important; font-weight: 600 !important; color: #6b7280 !important; text-decoration: none !important; border-bottom: 2px solid transparent !important; margin-bottom: -2px !important; transition: color .2s, border-color .2s !important; background: none !important; }
.woocommerce-tabs .tabs li.active a { color: #111827 !important; border-bottom-color: #8B6914 !important; }
.woocommerce-tabs .tabs li a:hover { color: #8B6914 !important; }
.woocommerce-Tabs-panel { font-size: 15px; line-height: 1.8; color: #4b5563; padding: 0 !important; margin: 0 !important; background: none !important; border-radius: 0 !important; }
.woocommerce-Tabs-panel h2 { font-size: 20px; color: #111827; margin: 0 0 16px; }
.woocommerce-Tabs-panel h3 { font-size: 16px; color: #111827; margin: 24px 0 12px; }
.woocommerce-Tabs-panel ul { margin: 0 0 0 20px; padding: 0; }
.woocommerce-Tabs-panel li { margin-bottom: 8px; }

/* Related */
.related.products { margin-top: 40px; padding: 32px; background: #fff; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.related.products h2 { font-size: 20px; color: #111827; margin: 0 0 24px; font-weight: 700; }
.related.products ul.products { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 16px !important; }
.related.products ul.products li.product { float: none !important; width: 100% !important; margin: 0 !important; clear: none !important; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.related.products ul.products li.product img { width: 100% !important; height: auto !important; }
.related.products .woocommerce-loop-product__title { font-size: 13px !important; padding: 8px 12px 12px !important; margin: 0 !important; }

@media(max-width:768px) {
    div.product { padding: 20px; gap: 24px; }
    div.product .woocommerce-product-gallery, div.product .summary { flex: 0 0 100% !important; max-width: 100% !important; }
    .product_title { font-size: 20px; }
    .woocommerce-tabs { padding: 20px; }
    .related.products { padding: 20px; }
    .related.products ul.products { grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; }
}

