/* Shared WordPress components. The approved home geometry lives in design-system.css. */
body.pl-site { --pl-space-xs: 12px; --pl-space-sm: 24px; --pl-space-md: 40px; --pl-space-lg: 60px; --pl-space-xl: 100px; }
body.pl-site #main { display: block; min-height: 50vh; outline: none; }
body.pl-site h1, body.pl-site h2, body.pl-site h3, body.pl-site h4, body.pl-site h5, body.pl-site h6 { color: inherit; font-family: inherit; }
body.pl-site .hero-picture { display: contents; }
body.pl-site [hidden] { display: none !important; }
body.pl-site .demo-banner { padding: 7px 24px; background: #f4e9df; color: #714c36; text-align: center; font-size: 11px; line-height: 1.5; }
body.pl-site .site-header { background: white; }
/* The staging site's legacy fixed switcher overlaps the mobile menu. Keep the
   plugin's links as an inline fallback only when the theme has no language nav. */
body.pl-site > .pingdu-language-switcher { position: static; display: flex; justify-content: flex-end; padding: 8px 24px; box-shadow: none; border-radius: 0; background: #f7f5f2; }
body.pl-site:has(.site-header .language-switcher) > .pingdu-language-switcher { display: none; }
body.pl-site .brand-image { width: auto; max-width: 245px; height: 45px; object-fit: contain; }
body.pl-site .nav-row .menu { display: flex; gap: 32px; margin: 0; padding: 0; list-style: none; align-items: center; }
body.pl-site .menu li { list-style: none; position: relative; }
body.pl-site .menu .sub-menu { display: none; position: absolute; z-index: 20; left: 0; top: 100%; min-width: 210px; background: white; padding: 14px; box-shadow: 0 8px 20px #0001; }
body.pl-site .menu li:hover > .sub-menu, body.pl-site .menu li:focus-within > .sub-menu { display: block; }
body.pl-site .sub-menu a { display: block; padding: 8px; }
body.pl-site .current-menu-item > a { color: var(--coral); }
body.pl-site .language-switcher { display: flex; gap: 12px; }
body.pl-site .utilities > a.inquiry-link { font-size: 12px; font-weight: 700; }
body.pl-site #mobile-nav .menu { margin: 0; padding: 0; }
body.pl-site #mobile-nav .sub-menu { position: static; display: block; box-shadow: none; }
body.pl-site .mobile-tools a { font-size: 22px; }
body.pl-site .site-footer .menu { display: flex; flex-wrap: wrap; gap: 24px; justify-content: center; list-style: none; padding: 0; margin: 0 0 32px; color: #b6b6bf; }
body.pl-site .page-heading { margin-bottom: 56px; max-width: 100%; }
body.pl-site .page-heading h1 { font-size: clamp(34px, 4vw, 56px); line-height: 1.2; letter-spacing: -1px; overflow-wrap: anywhere; }
body.pl-site .page-heading .eyebrow { margin-bottom: 20px; }
body.pl-site .reading { width: min(100%, 820px); margin-inline: auto; }
body.pl-site .entry-content { color: #444751; font-size: 18px; line-height: 1.85; overflow-wrap: anywhere; }
body.pl-site .entry-content p { color: inherit; }
body.pl-site .home-editor-content { border-top: 1px solid var(--line); }
body.pl-site .home-editor-content .elementor { width: 100%; }
body.pl-site .entry-content > * { max-width: 100%; }
body.pl-site .entry-content p, body.pl-site .entry-content ul, body.pl-site .entry-content ol, body.pl-site .entry-content figure, body.pl-site .entry-content blockquote { margin-block: 0 26px; }
body.pl-site .entry-content h1, body.pl-site .entry-content h2, body.pl-site .entry-content h3, body.pl-site .entry-content h4, body.pl-site .entry-content h5, body.pl-site .entry-content h6 { margin: 42px 0 18px; line-height: 1.35; }
body.pl-site .entry-content h1 { font-size: 40px; } body.pl-site .entry-content h2 { font-size: 32px; } body.pl-site .entry-content h3 { font-size: 27px; } body.pl-site .entry-content h4 { font-size: 23px; } body.pl-site .entry-content h5 { font-size: 20px; } body.pl-site .entry-content h6 { font-size: 18px; }
body.pl-site .entry-content a { color: #a85e3d; }
body.pl-site .entry-content a:where(:not(.elementor-button):not(.btn)) { text-decoration: underline; text-underline-offset: 3px; }
body.pl-site .entry-content img { height: auto; border-radius: 0; }
body.pl-site .entry-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; margin-block: 28px; }
body.pl-site .entry-content td, body.pl-site .entry-content th { padding: 14px; border: 1px solid #ddd; text-align: start; min-width: 120px; }
body.pl-site .entry-content blockquote { padding: 12px 24px; border-inline-start: 3px solid var(--coral); background: #f7f5f2; }
body.pl-site .entry-content figcaption { font-size: 13px; color: var(--muted); }
body.pl-site .alignwide { width: 100%; } body.pl-site .alignfull { width: 100%; margin-inline: 0; }
body.pl-site .posts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px 30px; }
body.pl-site .post-card { min-width: 0; }
body.pl-site .post-card-image { display: block; aspect-ratio: 1.5; background: #e7e3df; overflow: hidden; }
body.pl-site .post-card-image img { width: 100%; height: 100%; object-fit: cover; }
body.pl-site .image-placeholder { display: grid; place-items: center; height: 100%; color: #79736c; }
body.pl-site .post-card-copy { padding-top: 24px; }
body.pl-site .post-categories { color: #a46344; font-size: 12px; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .6px; }
body.pl-site .post-card h2 { font-size: 25px; line-height: 1.4; margin: 0 0 15px; }
body.pl-site .post-card p { font-size: 15px; margin-bottom: 20px; }
body.pl-site .text-link { font-weight: 700; color: #a46344; }
body.pl-site .pagination, body.pl-site .woocommerce-pagination { margin-top: 60px; }
body.pl-site .nav-links { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
body.pl-site .page-numbers { padding: 8px 13px; border: 1px solid var(--line); }
body.pl-site .page-numbers.current { background: var(--coral); color: white; }
body.pl-site .article .page-heading { text-align: center; }
body.pl-site .article-hero { max-width: 1100px; margin: 0 auto 65px; }
body.pl-site .article-hero img { width: 100%; height: auto; max-height: 650px; object-fit: cover; }
body.pl-site .post-navigation { margin-block: 60px; padding-block: 30px; border-block: 1px solid var(--line); }
body.pl-site .related-stories { margin-top: 80px; } body.pl-site .related-stories > h2 { margin-bottom: 35px; }
body.pl-site .empty-state { background: #f5f3f0; padding: 30px; grid-column: 1 / -1; align-self: start; }
body.pl-site .discussion-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
body.pl-site .discussion-grid article { padding: 35px; background: #f4f1ed; }
body.pl-site .discussion-grid span { color: #ae6b4d; } body.pl-site .discussion-grid h2 { font-size: 26px; margin: 18px 0; }
body.pl-site .section-gap { height: 80px; }
body.pl-site .about-visual { max-width: 820px; text-align: center; } body.pl-site .about-visual img { width: 100%; height: 500px; object-fit: cover; } body.pl-site .about-visual p { margin-top: 18px; }
body.pl-site .contact-details > * { display: block; margin-bottom: 18px; } body.pl-site .contact-details address { color: var(--muted); font-style: normal; }
body.pl-site .not-found { text-align: center; min-height: 500px; } body.pl-site .not-found p { margin: 24px 0; } body.pl-site .not-found h1 { font-size: clamp(32px,4vw,50px); }
body.pl-site .image-unavailable { background: #e5e2df; min-height: 100px; }
/* WooCommerce: cosmetic layout only; native forms and product logic are unchanged. */
body.pl-site .pl-woo-hooks > [class*="ct-container"], body.pl-site .pl-woo-hooks > [class*="ct-container"] > article, body.pl-site .pl-woo-hooks > [class*="ct-container"] > section { display: contents; }
body.pl-site .pl-woo-hooks .related.products, body.pl-site .pl-woo-hooks .up-sells.products { display: block; width: calc(100% - 136px); max-width: 1290px; margin: 60px auto; }
body.pl-site .pl-woo-hooks .related ul.products, body.pl-site .pl-woo-hooks .up-sells ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 40px 25px; }
body.pl-site .shop-intro { margin-top: 0; padding: 70px; min-height: 452px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(90deg,#e8e8e4 0%,#e8e8e4 45%,#e8e8e499 70%,#e8e8e400),url('../images/brand-packaging.webp') right center / 55% auto no-repeat,#e8e8e4; }
body.pl-site .shop-intro h1 { font-size: 48px; max-width: 600px; line-height: 1.3; }
body.pl-site .shop-intro .archive-description { max-width: 650px; margin-top: 20px; }
body.pl-site .shop-layout { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 60px; padding-top: 60px; }
body.pl-site .shop-widget { margin-bottom: 36px; } body.pl-site .shop-widget h2 { font-size: 17px; margin-bottom: 20px; } body.pl-site .shop-widget ul { list-style: none; padding: 0; margin: 0; }
body.pl-site .shop-widget li { padding: 7px 0; } body.pl-site .shop-widget span { color: var(--muted); font-size: 12px; }
body.pl-site .shop-results { min-width: 0; }
body.pl-site .woo-listing-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
body.pl-site .woocommerce-result-count { font-size: 13px; margin: 0; }
body.pl-site .woocommerce-ordering { margin: 0; } body.pl-site select { max-width: 100%; background: white; border: 1px solid #ddd; padding: 10px; color: var(--ink); }
body.pl-site .shop-results ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 20px; padding: 0; margin: 0; }
body.pl-site ul.products::before, body.pl-site ul.products::after { display: none; }
body.pl-site ul.products li.product { width: auto; float: none; margin: 0; padding: 0; min-width: 0; text-align: center; }
body.pl-site ul.products li.product .ct-media-container, body.pl-site ul.products li.product .woocommerce-loop-product__link { display: block; }
body.pl-site ul.products li.product .ct-media-container img, body.pl-site ul.products li.product > a > img { width: 100%; aspect-ratio: .7; height: auto; object-fit: contain; background: #f7f3ef; }
body.pl-site .woocommerce-loop-product__title { font-size: 16px; line-height: 1.5; margin: 20px 0 10px; }
body.pl-site .price { color: #a76040; font-size: 15px; } body.pl-site .price ins { text-decoration: none; }
body.pl-site .pl-woo-hooks a.button, body.pl-site .pl-woo-hooks button.button, body.pl-site .pl-woo-hooks input.button, body.pl-site .single_add_to_cart_button { background: var(--ink); color: white; padding: 13px 22px; border: 0; border-radius: 0; height: auto; }
body.pl-site .woocommerce-breadcrumb { font-size: 12px; color: var(--muted); margin-bottom: 40px; }
body.pl-site .single-product-shell div.product { display: block; }
body.pl-site .single-product-shell .product-entry-wrapper { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px; width: 100%; max-width: none; margin: 0 0 60px; }
body.pl-site .single-product-shell .product-entry-wrapper > .images, body.pl-site .single-product-shell .product-entry-wrapper > .summary { width: 100%; max-width: none; min-width: 0; float: none; }
body.pl-site .single-product-shell div.product > .images, body.pl-site .single-product-shell div.product > .summary { width: 100%; float: none; margin: 0; min-width: 0; }
body.pl-site .single-product-shell .woocommerce-tabs, body.pl-site .single-product-shell .related, body.pl-site .single-product-shell .up-sells { grid-column: 1 / -1; width: 100%; }
body.pl-site .single-product-shell .woocommerce-tabs:where(:not([data-type]), [data-type*="type-1"]) { --tab-background: var(--coral); --theme-link-active-color: var(--coral); --theme-link-hover-color: var(--coral); }
body.pl-site .single-product-shell .product_title { font-size: 40px; line-height: 1.25; margin-bottom: 24px; }
body.pl-site .single-product-shell .summary p { margin-bottom: 24px; } body.pl-site .single-product-shell form.cart { margin-block: 28px; }
body.pl-site .single-product-shell .variations { width: 100%; margin-bottom: 24px; }
body.pl-site .single-product-shell .variations th, body.pl-site .single-product-shell .variations td { padding: 10px 5px; text-align: start; }
body.pl-site .single-product-shell .quantity input { max-width: 90px; border: 1px solid #ddd; padding: 12px; }
body.pl-site .single-product-shell .woocommerce-product-gallery__image img { width: 100%; height: auto; }
body.pl-site .single-product-shell .flex-control-thumbs { display: flex; gap: 12px; padding: 0; list-style: none; }
body.pl-site .b2b-inquiry { margin-top: 35px; padding-top: 30px; border-top: 1px solid var(--line); }
body.pl-site .b2b-inquiry h2 { font-size: 22px; margin-bottom: 16px; } body.pl-site .b2b-inquiry .btn { min-height: 50px; font-size: 13px; }
body.pl-site .single-product-shell .related ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 40px 25px; }
body.pl-site .single-product-shell .related.products { display: block; margin-top: 60px; }
body.pl-site .woocommerce-Tabs-panel { max-width: 900px; margin-inline: auto; color: #444751; font-size: 18px; line-height: 1.85; overflow-wrap: anywhere; }
body.pl-site .woocommerce-Tabs-panel p, body.pl-site .woocommerce-Tabs-panel ul, body.pl-site .woocommerce-Tabs-panel ol { color: inherit; margin-bottom: 24px; }
body.pl-site .woocommerce-Tabs-panel h2, body.pl-site .woocommerce-Tabs-panel h3, body.pl-site .woocommerce-Tabs-panel h4 { margin: 38px 0 18px; line-height: 1.35; }
body.pl-site .woocommerce-Tabs-panel h2 { font-size: 30px; }
body.pl-site .woocommerce-Tabs-panel h3 { font-size: 25px; }
body.pl-site .woocommerce-Tabs-panel a { color: #a85e3d; text-decoration: underline; text-underline-offset: 3px; }
body.pl-site .woocommerce-Tabs-panel table { display: block; max-width: 100%; overflow-x: auto; }
body.pl-site .pl-woo-hooks .related .woocommerce-loop-product__title { min-height: 3em; }
body.pl-site .pl-woo-hooks .related li.product { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
body.pl-site .pl-woo-hooks .related li.product .button { align-self: center; margin-top: auto; }
body.pl-site .woocommerce-message, body.pl-site .woocommerce-info, body.pl-site .woocommerce-error { background: #f5f1ec; padding: 20px; border-top: 2px solid var(--coral); }
body.pl-site .woocommerce-cart-form, body.pl-site .woocommerce-checkout { max-width: 100%; overflow-x: auto; }
@media (max-width: 1000px) and (min-width: 701px) {
 body.pl-site .nav-row .menu { gap: 18px; font-size: 10px; }
 body.pl-site .shop-layout { grid-template-columns: 200px minmax(0,1fr); gap: 30px; }
 body.pl-site .posts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
 body.pl-site .demo-banner { font-size: 10px; padding: 6px 15px; }
 body.pl-site .brand-image { max-width: 190px; height: 32px; }
 body.pl-site .page-heading { margin-bottom: 36px; } body.pl-site .page-heading h1 { font-size: 34px; }
 body.pl-site .reading { width: 100%; } body.pl-site .entry-content { font-size: 16px; line-height: 1.8; }
 body.pl-site .entry-content h1 { font-size: 32px; } body.pl-site .entry-content h2 { font-size: 28px; } body.pl-site .entry-content h3 { font-size: 24px; }
 body.pl-site .posts-grid, body.pl-site .discussion-grid { grid-template-columns: 1fr; gap: 40px; }
 body.pl-site .post-card h2 { font-size: 24px; } body.pl-site .article-hero { margin-bottom: 35px; }
 body.pl-site .shop-intro { margin-top: 20px; padding: 50px 25px; min-height: 260px; } body.pl-site .shop-intro h1 { font-size: 33px; }
 body.pl-site .shop-layout { display: flex; flex-direction: column; gap: 30px; }
 body.pl-site .shop-sidebar { width: 100%; } body.pl-site .shop-widget ul { display: flex; gap: 18px; flex-wrap: wrap; }
 body.pl-site .shop-results ul.products { grid-template-columns: 1fr; gap: 36px; }
 body.pl-site .single-product-shell .product-entry-wrapper { grid-template-columns: minmax(0,1fr); gap: 40px; }
 body.pl-site .single-product-shell .product_title { font-size: 30px; }
 body.pl-site .woocommerce-Tabs-panel { font-size: 16px; line-height: 1.8; }
 body.pl-site .woocommerce-Tabs-panel h2 { font-size: 27px; }
 body.pl-site .woocommerce-Tabs-panel h3 { font-size: 23px; }
 body.pl-site .single-product-shell .related ul.products { grid-template-columns: 1fr; }
 body.pl-site .pl-woo-hooks .related.products, body.pl-site .pl-woo-hooks .up-sells.products { width: calc(100% - 48px); }
 body.pl-site .pl-woo-hooks .related ul.products, body.pl-site .pl-woo-hooks .up-sells ul.products { grid-template-columns: 1fr; }
 body.pl-site .about-visual img { height: 360px; } body.pl-site .discussion-grid article { padding: 28px; }
 body.pl-site .site-footer .menu { gap: 18px; font-size: 12px; }
 body.pl-site .section-gap { height: 60px; }
}
