.elementor-680 .elementor-element.elementor-element-d38542e{--display:flex;overflow:visible;}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.products-heading-show .related-products > h2, .elementor-widget-wc-archive-products.products-heading-show .upsells > h2, .elementor-widget-wc-archive-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-archive-products .elementor-products-nothing-found{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-680 .elementor-element.elementor-element-f2e05c8.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-680 .elementor-element.elementor-element-f2e05c8.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(max-width:1024px){.elementor-680 .elementor-element.elementor-element-f2e05c8.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-680 .elementor-element.elementor-element-f2e05c8.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for container, class: .elementor-element-d38542e *//* SparkNest — Theme Builder wireframe shell + Woo category pages (New In, Party archive, etc.).
 * Product grid: WooCommerce [products] shortcode — REUSABLE: same shortcode string, only change
 *   category="slug" (and optionally limit, columns, orderby, order, paginate). PHP: do_shortcode(...).
 * Wrappers sharing one visual stack (via :is()): .newin-products-wrap OR .layout-archive__main .loop-grid.
 * Legacy removed: static JS + fake .newin-grid / .newin-card pagination.
 */

 *,
 *::before,
 *::after {
   box-sizing: border-box;
 }
 
 body {
   margin: 0;
   font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
   background: #f5f3ef;
   color: #1b1d20;
   line-height: 1.55;
 }
 
 .page-header {
   background: #fff;
   border-bottom: 1px solid #dcd6ce;
   padding: 16px 20px 20px;
   position: sticky;
   top: 0;
   z-index: 5;
 }
 
 .page-nav {
   display: flex;
   flex-wrap: wrap;
   gap: 12px 18px;
   margin-bottom: 12px;
   font-size: 13px;
 }
 
 .page-nav a {
   color: #2d3bd3;
   font-weight: 600;
   text-decoration: none;
 }
 
 .page-nav a:hover {
   text-decoration: underline;
 }
 
 .page-header h1 {
   margin: 0;
   font-size: clamp(1.35rem, 4vw, 1.75rem);
   letter-spacing: -0.02em;
 }
 
 .page-main {
   max-width: 720px;
   margin: 0 auto;
   padding: 24px 20px 48px;
 }
 
 .page-lead {
   font-size: 1rem;
   color: #555b63;
   margin: 0 0 18px;
 }
 
 .page-panel {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 18px 20px;
   margin-bottom: 16px;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.06);
 }
 
 .page-panel h2 {
   margin: 0 0 10px;
   font-size: 1rem;
 }
 
 .page-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 18px;
 }
 
 .page-actions a,
 .page-actions button {
   display: inline-block;
   padding: 10px 16px;
   border-radius: 999px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   text-decoration: none;
   border: 2px solid #e01e37;
   background: #e01e37;
   color: #fff;
   cursor: pointer;
 }
 
 .page-actions a.secondary,
 .page-actions button.secondary {
   background: #fff;
   color: #1b1d20;
   border-color: #dcd6ce;
 }
 
 .page-actions a.secondary:hover,
 .page-actions button.secondary:hover {
   border-color: #e01e37;
   color: #e01e37;
 }
 
 .page-actions a:not(.secondary):hover,
 .page-actions button:not(.secondary):hover {
   filter: brightness(1.05);
 }
 
 .page-actions button:disabled {
   opacity: 0.45;
   cursor: not-allowed;
   filter: none;
 }
 
 .page-list {
   margin: 0;
   padding-left: 1.15rem;
   color: #4f5568;
 }
 
 .page-list li {
   margin: 6px 0;
 }
 
 /* ---------- Theme Builder wireframe shell ---------- */
 
 .wf-body {
   min-height: 100vh;
   display: flex;
   flex-direction: column;
 }
 
 .wf-header {
   background: #fff;
   border-bottom: 1px solid #dcd6ce;
   position: sticky;
   top: 0;
   z-index: 20;
 }
 
 .wf-header-inner {
   max-width: 1120px;
   margin: 0 auto;
   padding: 14px 20px;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 14px 24px;
 }
 
 .wf-logo {
   font-weight: 900;
   font-size: 1.15rem;
   letter-spacing: -0.03em;
   color: #1b1d20;
   text-decoration: none;
 }
 
 .wf-logo:hover {
   color: #e01e37;
 }
 
 .wf-nav {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 18px;
   font-size: 13px;
   font-weight: 600;
 }
 
 .wf-nav a {
   color: #2d3bd3;
   text-decoration: none;
 }
 
 .wf-nav a:hover {
   text-decoration: underline;
 }
 
 .wf-main {
   flex: 1;
   width: 100%;
   padding: 24px 20px 56px;
 }
 
 .wf-main--narrow {
   max-width: 720px;
   margin: 0 auto;
 }
 
 .wf-main--wide {
   max-width: 1120px;
   margin: 0 auto;
 }
 
 .wf-page-heading {
   margin-bottom: 22px;
 }
 
 .wf-page-heading h1 {
   margin: 0;
   font-size: clamp(1.35rem, 4vw, 1.85rem);
   letter-spacing: -0.02em;
 }
 
 .wf-footer {
   background: #2a2520;
   color: #f0ebe4;
   margin-top: auto;
 }
 
 .wf-footer-inner {
   max-width: 1120px;
   margin: 0 auto;
   padding: 36px 20px 44px;
   display: grid;
   grid-template-columns: minmax(160px, 1.2fr) repeat(3, minmax(120px, 1fr));
   gap: 28px 24px;
 }
 
 @media (max-width: 820px) {
   .wf-footer-inner {
     grid-template-columns: 1fr 1fr;
   }
 }
 
 @media (max-width: 520px) {
   .wf-footer-inner {
     grid-template-columns: 1fr;
   }
 }
 
 .wf-footer-brand strong {
   display: block;
   font-size: 1.05rem;
   margin-bottom: 6px;
 }
 
 .wf-footer-brand span {
   font-size: 12px;
   opacity: 0.82;
   line-height: 1.45;
 }
 
 .wf-footer-label {
   display: block;
   font-size: 11px;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.12em;
   opacity: 0.72;
   margin-bottom: 12px;
 }
 
 .wf-footer-col ul {
   margin: 0;
   padding: 0;
   list-style: none;
 }
 
 .wf-footer-col li {
   margin: 8px 0;
 }
 
 .wf-footer-col a {
   color: #f0ebe4;
   text-decoration: none;
   font-size: 13px;
   opacity: 0.92;
 }
 
 .wf-footer-col a:hover {
   text-decoration: underline;
 }
 
 /* ----- Static wireframes: PDP, post, page, search, 404, journal archive, legacy newin grid, about, policy, contact, account, forms, refund ----- */
 /* Single Product (PDP) */
 .layout-pdp {
   display: grid;
   grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
   gap: 28px 36px;
   align-items: start;
   margin-bottom: 40px;
 }
 
 @media (max-width: 780px) {
   .layout-pdp {
     grid-template-columns: 1fr;
   }
 }
 
 .layout-pdp__media {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   overflow: hidden;
   box-shadow: 0 6px 22px rgba(20, 21, 26, 0.07);
 }
 
 .layout-pdp__media img {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 4 / 3;
   object-fit: cover;
 }
 
 .layout-pdp__buy {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 22px 22px 24px;
   box-shadow: 0 6px 22px rgba(20, 21, 26, 0.06);
 }
 
 .layout-pdp__title {
   margin: 0 0 12px;
   font-size: clamp(1.35rem, 3vw, 1.65rem);
   letter-spacing: -0.02em;
 }
 
 .layout-pdp__price {
   margin: 0 0 16px;
 }
 
 .layout-pdp__price-now {
   font-size: 1.35rem;
   font-weight: 800;
   color: #e01e37;
 }
 
 .layout-pdp__desc {
   color: #555b63;
   font-size: 0.95rem;
   margin-bottom: 18px;
 }
 
 .layout-pdp__desc p {
   margin: 0 0 10px;
 }
 
 .layout-suggested {
   margin-top: 8px;
 }
 
 .layout-suggested__title {
   margin: 0 0 16px;
   font-size: 1.05rem;
   letter-spacing: -0.02em;
 }
 /* Single Post */
 .layout-post__header {
   margin-bottom: 18px;
 }
 
 .layout-post__title {
   margin: 0 0 10px;
   font-size: clamp(1.45rem, 4vw, 2rem);
   letter-spacing: -0.03em;
 }
 
 .layout-post__meta {
   margin: 0;
   font-size: 13px;
   color: #6e7582;
 }
 
 .layout-post__figure {
   margin: 0 0 22px;
   border-radius: 14px;
   overflow: hidden;
   border: 1px solid #dcd6ce;
 }
 
 .layout-post__figure img {
   display: block;
   width: 100%;
   height: auto;
   max-height: 420px;
   object-fit: cover;
 }
 
 .layout-post__body {
   font-size: 1rem;
   color: #3a404a;
 }
 
 .layout-post__body p {
   margin: 0 0 14px;
 }
 
 /* Single Page (hero + content + CTA) */
 .layout-page__hero {
   margin: -8px -8px 22px;
   border-radius: 14px;
   overflow: hidden;
   border: 1px solid #dcd6ce;
 }
 
 .layout-page__hero--short img {
   max-height: 220px;
 }
 
 .layout-page__hero img {
   display: block;
   width: 100%;
   height: auto;
   object-fit: cover;
 }
 
 .layout-page__content {
   margin-bottom: 28px;
 }
 
 .layout-page__cta {
   background: linear-gradient(135deg, #3d342c 0%, #2a2520 100%);
   color: #fff;
   border-radius: 14px;
   padding: 22px 22px;
 }
 
 .layout-page__cta-inner {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
 }
 
 .layout-page__cta-text {
   margin: 0;
   font-size: 0.95rem;
   opacity: 0.92;
 }
 
 .layout-page__cta .page-actions {
   margin-top: 0;
 }
 
 .layout-page__cta .page-actions a.secondary {
   border-color: rgba(255, 255, 255, 0.35);
   color: #fff;
   background: transparent;
 }
 
 .layout-page__cta .page-actions a.secondary:hover {
   border-color: #fff;
   color: #fff;
 }
 
 .layout-page__cta .page-actions a:not(.secondary) {
   background: #fff;
   color: #1b1d20;
   border-color: #fff;
 }
 
 /* Search results */
 .layout-search-form {
   margin-bottom: 22px;
 }
 
 .layout-search-form label {
   display: block;
   font-size: 12px;
   font-weight: 700;
   margin-bottom: 8px;
   color: #555b63;
 }
 
 .layout-search-row {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
 }
 
 .layout-search-row input[type="search"] {
   flex: 1;
   min-width: 200px;
   padding: 12px 14px;
   border-radius: 10px;
   border: 1px solid #dcd6ce;
   font: inherit;
 }
 
 .layout-search-row button {
   padding: 12px 20px;
   border-radius: 10px;
   border: none;
   background: #e01e37;
   color: #fff;
   font-weight: 700;
   cursor: pointer;
 }
 
 .layout-search-meta {
   font-size: 14px;
   color: #555b63;
   margin-bottom: 16px;
 }
 
 .layout-search-results {
   display: flex;
   flex-direction: column;
   gap: 14px;
 }
 
 .layout-search-hit {
   display: grid;
   grid-template-columns: 96px 1fr;
   gap: 14px;
   align-items: start;
   padding: 14px;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
 }
 
 .layout-search-hit img {
   width: 96px;
   height: 72px;
   object-fit: cover;
   border-radius: 8px;
 }
 
 .layout-search-hit h3 {
   margin: 0 0 6px;
   font-size: 14px;
 }
 
 .layout-search-hit h3 a {
   color: #1b1d20;
   text-decoration: none;
 }
 
 .layout-search-hit h3 a:hover {
   color: #e01e37;
 }
 
 .layout-search-hit p {
   margin: 0;
   font-size: 13px;
   color: #6e7582;
 }
 
 /* 404 */
 .layout-404 {
   text-align: center;
   padding: 48px 16px 64px;
 }
 
 .layout-404__code {
   margin: 0;
   font-size: clamp(4rem, 14vw, 7rem);
   font-weight: 900;
   line-height: 1;
   letter-spacing: -0.06em;
   color: #dcd6ce;
 }
 
 .layout-404__msg {
   margin: 16px 0 28px;
   font-size: 1.1rem;
   color: #555b63;
 }
 
 /* Archive tiles (posts) */
 .archive-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
   gap: 20px;
 }
 
 .archive-tile {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
   overflow: hidden;
 }
 
 .archive-tile__media {
   display: block;
   aspect-ratio: 16 / 10;
 }
 
 .archive-tile__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }
 
 .archive-tile h3 {
   margin: 12px 14px 6px;
   font-size: 15px;
 }
 
 .archive-tile h3 a {
   color: inherit;
   text-decoration: none;
 }
 
 .archive-tile h3 a:hover {
   color: #e01e37;
 }
 
 .archive-tile p {
   margin: 0 14px 14px;
   font-size: 13px;
   color: #6e7582;
 }
 .newin-toolbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 12px 20px;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
   padding: 12px 14px;
   margin-bottom: 18px;
 }
 
 .newin-chips {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
 }
 
 .newin-chips a {
   display: inline-flex;
   align-items: center;
   padding: 8px 12px;
   border-radius: 999px;
   border: 1px solid #dcd6ce;
   text-decoration: none;
   color: #2b3340;
   font-size: 12px;
   font-weight: 700;
 }
 
 .newin-chips a:hover {
   border-color: #e01e37;
   color: #e01e37;
 }
 
 .newin-toolbar__meta {
   display: flex;
   align-items: center;
   gap: 14px;
   color: #5e6570;
   font-size: 12px;
 }
 
 .newin-toolbar__meta label {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-weight: 700;
 }
 
 .newin-toolbar__meta select {
   font: inherit;
   border: 1px solid #dcd6ce;
   border-radius: 8px;
   padding: 6px 8px;
   background: #fff;
 }
 
 .newin-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
 }
 
 @media (max-width: 1020px) {
   .newin-grid {
     grid-template-columns: repeat(3, minmax(0, 1fr));
   }
 }
 
 @media (max-width: 760px) {
   .newin-grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }
 
 @media (max-width: 520px) {
   .newin-grid {
     grid-template-columns: 1fr;
   }
 }
 
 .newin-card {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
   overflow: hidden;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.05);
 }
 
 .newin-card__media {
   display: block;
   aspect-ratio: 4 / 3;
   overflow: hidden;
 }
 
 .newin-card__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }
 
 .newin-card__body {
   padding: 12px 14px 14px;
 }
 
 .newin-card h3 {
   margin: 0 0 8px;
   font-size: 14px;
   line-height: 1.35;
 }
 
 .newin-card h3 a {
   color: #1b1d20;
   text-decoration: none;
 }
 
 .newin-card h3 a:hover {
   color: #e01e37;
 }
 
 .newin-card__price {
   margin: 0 0 12px;
   font-size: 14px;
   font-weight: 800;
 }
 
 .newin-card__price del {
   color: #8f97a2;
   margin-right: 6px;
   font-weight: 600;
 }
 
 .newin-card__price ins {
   color: #e01e37;
   text-decoration: none;
 }
 
 .newin-card__btn {
   display: block;
   text-align: center;
   border: 1px solid #dcd6ce;
   border-radius: 999px;
   padding: 10px 14px;
   text-decoration: none;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   font-size: 11px;
   font-weight: 800;
   color: #2b3340;
 }
 
 .newin-card__btn:hover {
   border-color: #e01e37;
   color: #e01e37;
 }
 
 .newin-card__btn:disabled {
   opacity: 0.6;
   cursor: progress;
 }
 
 .newin-pagination {
   margin-top: 18px;
 }
 /* About / story (static info pages use with wf-body + page.css) */
 .wf-breadcrumb {
   font-size: 12px;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   color: #555b63;
   margin: 0 0 10px;
 }
 
 .wf-breadcrumb a {
   color: #2d3bd3;
   text-decoration: none;
 }
 
 .wf-breadcrumb a:hover {
   text-decoration: underline;
 }
 
 .layout-about-hero {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 28px 36px;
   align-items: center;
   margin-bottom: 28px;
 }
 
 @media (max-width: 780px) {
   .layout-about-hero {
     grid-template-columns: 1fr;
   }
 }
 
 .layout-about-hero__title {
   margin: 0 0 14px;
   font-size: clamp(1.35rem, 3vw, 1.85rem);
   letter-spacing: -0.02em;
 }
 
 .layout-about-hero__body p {
   margin: 0 0 12px;
   color: #555b63;
   font-size: 0.98rem;
 }
 
 .layout-about-hero__body p:last-child {
   margin-bottom: 0;
 }
 
 .layout-about-hero .page-actions {
   margin-top: 20px;
 }
 
 .layout-about-hero__media {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   overflow: hidden;
   box-shadow: 0 6px 22px rgba(20, 21, 26, 0.06);
 }
 
 .layout-about-hero__media img {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 4 / 3;
   object-fit: cover;
 }
 
 .layout-about-values {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 22px;
   margin-top: 8px;
 }
 
 @media (max-width: 820px) {
   .layout-about-values {
     grid-template-columns: 1fr;
   }
 }
 
 .layout-about-value {
   text-align: center;
   padding: 18px 14px;
 }
 
 .layout-about-value__icon {
   width: 56px;
   height: 56px;
   margin: 0 auto 14px;
   border-radius: 999px;
   background: rgba(224, 30, 55, 0.09);
   color: #e01e37;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.35rem;
 }
 
 .layout-about-value h3 {
   margin: 0 0 10px;
   font-size: 1.05rem;
   letter-spacing: -0.02em;
 }
 
 .layout-about-value p {
   margin: 0;
   font-size: 0.9rem;
   color: #555b63;
   line-height: 1.55;
 }
 
 .layout-about-panel-title {
   margin: 0 0 8px;
   text-align: center;
   font-size: clamp(1.15rem, 2.5vw, 1.35rem);
   letter-spacing: -0.02em;
 }
 
 .layout-about-panel-lead {
   margin: 0 0 20px;
   text-align: center;
   color: #555b63;
   font-size: 0.95rem;
 }
 
 .layout-about-cta {
   text-align: center;
   padding: 36px 12px 12px;
 }
 
 .layout-about-cta h2 {
   margin: 0 0 12px;
   font-size: clamp(1.2rem, 2.5vw, 1.5rem);
   letter-spacing: -0.02em;
 }
 
 .layout-about-cta > p {
   margin: 0 auto 22px;
   color: #555b63;
   max-width: 520px;
   font-size: 0.98rem;
 }
 
 .layout-about-cta .page-actions {
   justify-content: center;
   margin-top: 0;
 }
 
 /* Legal / policy long-form (sparknest_info_pages) */
 .layout-policy h2 {
   font-size: 1.35rem;
   margin: 28px 0 14px;
   color: #1b1d20;
   display: flex;
   align-items: center;
   letter-spacing: -0.02em;
 }
 
 .layout-policy > :first-child h2:first-child,
 .layout-policy .policy-section:first-child h2:first-child {
   margin-top: 0;
 }
 
 .layout-policy > section:first-of-type > h2:first-child {
   margin-top: 0;
 }
 
 .layout-policy h2::before {
   content: "";
   width: 4px;
   height: 22px;
   background: #e01e37;
   margin-right: 12px;
   border-radius: 2px;
   flex-shrink: 0;
 }
 
 .layout-policy h3 {
   color: #e01e37;
   margin: 18px 0 10px;
   font-size: 1rem;
 }
 
 .layout-policy p {
   margin: 0 0 16px;
   color: #555b63;
   font-size: 0.95rem;
   line-height: 1.55;
 }
 
 .layout-policy ul,
 .layout-policy ol {
   margin: 0 0 22px;
   padding-left: 1.25rem;
   color: #555b63;
   font-size: 0.95rem;
 }
 
 .layout-policy li {
   margin: 8px 0;
 }
 
 .layout-policy a {
   color: #2d3bd3;
   font-weight: 600;
   text-decoration: none;
 }
 
 .layout-policy a:hover {
   text-decoration: underline;
 }
 
 .layout-policy-table {
   width: 100%;
   border-collapse: collapse;
   margin: 18px 0;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
   overflow: hidden;
   font-size: 0.92rem;
 }
 
 .layout-policy-table th {
   background: #f0ebe4;
   padding: 12px 14px;
   text-align: left;
   font-weight: 700;
   border-bottom: 1px solid #dcd6ce;
 }
 
 .layout-policy-table td {
   padding: 12px 14px;
   border-bottom: 1px solid #ece7df;
 }
 
 .layout-policy-table tr:last-child td {
   border-bottom: none;
 }
 
 .layout-contact-grid {
   display: grid;
   grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
   gap: 24px;
   align-items: start;
 }
 
 @media (max-width: 880px) {
   .layout-contact-grid {
     grid-template-columns: 1fr;
   }
 }
 
 .layout-contact-sidebar {
   display: flex;
   flex-direction: column;
   gap: 18px;
 }
 
 .layout-contact-list {
   list-style: none;
   margin: 0;
   padding: 0;
 }
 
 .layout-contact-list > li {
   display: flex;
   gap: 14px;
   align-items: flex-start;
   margin-bottom: 18px;
 }
 
 .layout-contact-list > li:last-child {
   margin-bottom: 0;
 }
 
 .layout-contact-icon {
   width: 44px;
   height: 44px;
   border-radius: 10px;
   background: #e01e37;
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   font-size: 1.05rem;
 }
 
 .layout-contact-icon + div strong {
   display: block;
   margin-bottom: 4px;
   color: #1b1d20;
 }
 
 .layout-contact-icon + div p {
   margin: 0;
   font-size: 0.9rem;
   color: #555b63;
   line-height: 1.45;
 }
 
 .layout-contact-promo {
   background: #e01e37;
   color: #fff;
   border-radius: 14px;
   padding: 20px 20px 22px;
   border: 1px solid rgba(0, 0, 0, 0.06);
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.06);
 }
 
 .layout-contact-promo h3 {
   margin: 0 0 10px;
   font-size: 1.05rem;
   color: #fff;
 }
 
 .layout-contact-promo p {
   margin: 0;
   font-size: 0.9rem;
   color: rgba(255, 255, 255, 0.88);
   line-height: 1.5;
 }
 
 .layout-contact-promo a {
   color: #fff;
   font-weight: 700;
   text-decoration: underline;
 }
 
 .layout-contact-promo a:hover {
   text-decoration: none;
 }
 
 /* WooCommerce-style My Account ([woocommerce_my_account] layout) */
 .wc-account-live-hint {
   font-size: 0.85rem;
   color: #4a5568;
   margin: 0 0 16px;
   padding: 10px 14px;
   background: #f0f7ff;
   border: 1px solid #c5d9f0;
   border-radius: 10px;
   max-width: 72ch;
   line-height: 1.45;
 }
 
 .wc-account-shell {
   display: grid;
   grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
   gap: 24px;
   align-items: start;
 }
 
 @media (max-width: 720px) {
   .wc-account-shell {
     grid-template-columns: 1fr;
   }
 }
 
 .wc-account-nav {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 10px 0;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.06);
 }
 
 .wc-account-nav__list {
   list-style: none;
   margin: 0;
   padding: 0;
 }
 
 .wc-account-nav__link {
   display: block;
   padding: 11px 18px;
   font-size: 0.9rem;
   font-weight: 600;
   color: #3a404a;
   text-decoration: none;
   border-left: 3px solid transparent;
   transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
 }
 
 .wc-account-nav__link:hover {
   background: #faf9f7;
   color: #e01e37;
 }
 
 .wc-account-nav__link.is-active {
   background: rgba(224, 30, 55, 0.06);
   border-left-color: #e01e37;
   color: #1b1d20;
 }
 
 .wc-account-nav__link--logout {
   margin-top: 6px;
   padding-top: 14px;
   border-top: 1px solid #ece7df;
   font-weight: 500;
   color: #6e7582;
 }
 
 .wc-account-nav__link--logout:hover {
   color: #e01e37;
 }
 
 .wc-account-content {
   min-width: 0;
 }
 
 .wc-account-panel {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 22px 24px 26px;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.06);
 }
 
 .wc-account-hello {
   margin: 0 0 12px;
   font-size: 1.05rem;
   color: #1b1d20;
 }
 
 .wc-account-hello__name {
   font-weight: 800;
 }
 
 .wc-account-hello__hint {
   display: block;
   margin-top: 6px;
   font-size: 0.82rem;
   font-weight: 400;
   color: #6e7582;
 }
 
 .wc-account-intro {
   margin: 0 0 18px;
   font-size: 0.92rem;
   color: #555b63;
   line-height: 1.55;
   max-width: 52ch;
 }
 
 .wc-account-subheading {
   margin: 0 0 14px;
   font-size: 1rem;
   font-weight: 800;
   color: #1b1d20;
   letter-spacing: -0.02em;
 }
 
 .wc-account-empty {
   text-align: center;
   padding: 28px 16px;
   border-radius: 12px;
   background: #faf9f7;
   border: 1px solid #ece7df;
 }
 
 .wc-account-empty p {
   margin: 0 0 14px;
   font-size: 0.95rem;
   color: #555b63;
 }
 
 .wc-account-empty .page-actions {
   justify-content: center;
   margin-top: 0;
 }
 
 .layout-form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
 }
 
 @media (max-width: 560px) {
   .layout-form-row {
     grid-template-columns: 1fr;
   }
 }
 
 .layout-form-group {
   margin-bottom: 16px;
 }
 
 .layout-form-group label {
   display: block;
   font-size: 12px;
   font-weight: 700;
   margin-bottom: 8px;
   color: #555b63;
 }
 
 .layout-form-group input,
 .layout-form-group textarea,
 .layout-form-group select {
   width: 100%;
   padding: 12px 14px;
   border-radius: 10px;
   border: 1px solid #dcd6ce;
   font: inherit;
   background: #fff;
   color: #1b1d20;
 }
 
 .layout-form-group textarea {
   resize: vertical;
   min-height: 140px;
 }
 
 .layout-form-submit {
   width: 100%;
   margin-top: 8px;
   padding: 14px 20px;
   border-radius: 999px;
   border: 2px solid #e01e37;
   background: #e01e37;
   color: #fff;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   cursor: pointer;
 }
 
 .layout-form-submit:hover {
   filter: brightness(1.05);
 }
 
 .layout-refund-steps {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 28px 22px;
   margin: 28px 0;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.04);
 }
 
 .layout-refund-steps > h3 {
   margin: 0 0 24px;
   text-align: center;
   font-size: 1.2rem;
   letter-spacing: -0.02em;
   color: #1b1d20;
 }
 
 .layout-refund-steps-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: 22px;
   text-align: center;
 }
 
 .layout-refund-step-icon {
   font-size: 2rem;
   color: #e01e37;
   margin-bottom: 12px;
 }
 
 .layout-refund-step strong {
   display: block;
   margin-bottom: 8px;
   color: #1b1d20;
 }
 
 .layout-refund-step p {
   margin: 0;
   font-size: 0.88rem;
   color: #555b63;
   line-height: 1.45;
 }
 
 /* Search/Journal dynamic helpers */
 .search-hit-type {
   margin: 0 0 6px;
   font-size: 10px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   font-weight: 800;
   color: #6e7582;
 }
 
 .layout-post__title a {
   color: inherit;
   text-decoration: none;
 }
 
 .layout-post__title a:hover {
   color: #e01e37;
 }
 
 /* Products archive (other templates) */
 .layout-archive__heading {
   margin: 0 0 8px;
   font-size: 1.15rem;
 }
 
 .layout-archive__main > .layout-archive__heading {
   margin-bottom: 14px;
 }
 
 .layout-archive {
   display: grid;
   grid-template-columns: 220px minmax(0, 1fr);
   gap: 28px 32px;
   align-items: start;
 }
 
 @media (max-width: 880px) {
   .layout-archive {
     grid-template-columns: 1fr;
   }
 }
 
 .layout-archive__sidebar {
   min-width: 0;
 }
 
 .layout-archive__sidebar-details {
   margin: 0;
 }
 
 .layout-archive__sidebar-body {
   min-width: 0;
 }
 
 .layout-archive__sidebar-title {
   margin: 0 0 14px;
   font-size: 0.95rem;
 }
 
 /* ----- Mobile (≤880px): 方案 A — <details> 折叠筛选 ----- */
 @media (max-width: 880px) {
   .layout-archive__sidebar {
     padding: 0;
     background: transparent;
     border: none;
     border-radius: 0;
   }
 
   .layout-archive__sidebar-details {
     background: #fff;
     border: 1px solid #dcd6ce;
     border-radius: 14px;
     overflow: hidden;
     box-shadow: 0 4px 14px rgba(20, 21, 26, 0.05);
   }
 
   .layout-archive__sidebar-summary {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     padding: 14px 16px;
     font-family: inherit;
     font-size: 0.95rem;
     font-weight: 800;
     letter-spacing: -0.02em;
     color: #1b1d20;
     cursor: pointer;
     list-style: none;
     user-select: none;
     -webkit-tap-highlight-color: transparent;
   }
 
   .layout-archive__sidebar-summary::-webkit-details-marker {
     display: none;
   }
 
   .layout-archive__sidebar-summary::marker {
     content: "";
   }
 
   .layout-archive__sidebar-details[open] > .layout-archive__sidebar-summary {
     border-bottom: 1px solid #ece7df;
   }
 
   .layout-archive__sidebar-summary-chevron {
     display: block;
     width: 10px;
     height: 10px;
     border-right: 2px solid #6e7582;
     border-bottom: 2px solid #6e7582;
     transform: rotate(45deg) translateY(-3px);
     transition: transform 0.2s ease;
     flex-shrink: 0;
   }
 
   .layout-archive__sidebar-details[open] .layout-archive__sidebar-summary-chevron {
     transform: rotate(225deg) translateY(2px);
   }
 
   .layout-archive__sidebar-body {
     padding: 4px 16px 16px;
   }
 
   .layout-archive__sidebar-title {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0, 0, 0, 0);
     white-space: nowrap;
     border: 0;
   }
 
   .layout-archive__filter-head {
     margin-top: 8px;
   }
 }
 
 @media (max-width: 880px) and (prefers-reduced-motion: reduce) {
   .layout-archive__sidebar-summary-chevron {
     transition: none;
   }
 }
 
 /* ----- Desktop (≥881px): 静态侧栏；summary 隐藏。
    关闭态的 <details> 会隐藏非 summary 子节点，仅靠 CSS 无法展开，需 [open]（见 category-party.html 底脚本）。 ----- */
 @media (min-width: 881px) {
   .layout-archive__sidebar {
     background: #fff;
     border: 1px solid #dcd6ce;
     border-radius: 14px;
     padding: 18px 16px;
   }
 
   /* block 而非 contents：避免与 <details> 的 UA 行为叠加难排错；子级仍在 aside 内 */
   .layout-archive__sidebar-details {
     display: block;
     margin: 0;
     padding: 0;
     border: 0;
     background: transparent;
   }
 
   .layout-archive__sidebar-summary {
     display: none !important;
   }
 
   .layout-archive__sidebar-body {
     padding: 0;
   }
 }
 
 .layout-archive__filter-head {
   margin: 14px 0 8px;
   font-size: 11px;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   color: #6e7582;
 }
 
 .layout-archive__filters ul {
   margin: 0;
   padding: 0;
   list-style: none;
 }
 
 .layout-archive__filters li {
   margin: 6px 0;
 }
 
 .layout-archive__filters a {
   color: #2d3bd3;
   font-weight: 600;
   font-size: 13px;
   text-decoration: none;
 }
 
 .layout-archive__filters a:hover {
   text-decoration: underline;
 }
 
 .layout-archive__main {
   min-width: 0;
 }
 
 /* .loop-grid 内为 [products] 时：Woo 包一层 .woocommerce，不能用 auto-fill 网格包一层子级 */
 .layout-archive__main .loop-grid:has(> .woocommerce) {
   display: block;
   min-width: 0;
 }
 
 .layout-archive__lead {
   margin: 0 0 18px;
   color: #555b63;
   font-size: 0.92rem;
 }
 
 .loop-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
   gap: 18px;
 }
 
 .loop-card {
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
   overflow: hidden;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.05);
   transition: transform 0.18s ease, box-shadow 0.18s ease;
 }
 
 .loop-card:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 26px rgba(20, 21, 26, 0.09);
 }
 
 .loop-card__media {
   display: block;
   aspect-ratio: 4 / 3;
   overflow: hidden;
 }
 
 .loop-card__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }
 
 .loop-card__body {
   padding: 12px 14px 14px;
 }
 
 .loop-card__title {
   margin: 0 0 6px;
   font-size: 13px;
   font-weight: 700;
   line-height: 1.35;
 }
 
 .loop-card__title a {
   color: inherit;
   text-decoration: none;
 }
 
 .loop-card__title a:hover {
   color: #e01e37;
 }
 
 .loop-card__price {
   margin: 0;
   font-size: 13px;
   font-weight: 800;
   color: #e01e37;
 }
 
 .loop-card__btn {
   margin-top: 10px;
   display: block;
   width: 100%;
   text-align: center;
   border: 1px solid #dcd6ce;
   border-radius: 999px;
   padding: 10px 14px;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   font-size: 11px;
   font-weight: 800;
   color: #2b3340;
   background: #fff;
   cursor: pointer;
 }
 
 .loop-card__btn:hover {
   border-color: #e01e37;
   color: #e01e37;
 }
 
 .loop-card__btn:disabled {
   opacity: 0.6;
   cursor: progress;
 }
 
 /* New In category template — hero + toolbar + FAQ */
 .newin-hero {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 14px 20px;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 18px 18px 16px;
   margin-bottom: 16px;
 }
 
 .newin-hero h1 {
   margin: 0;
   font-size: clamp(1.35rem, 4vw, 1.8rem);
   letter-spacing: -0.02em;
 }
 
 .newin-hero__eyebrow {
   margin: 0 0 8px;
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #5f6670;
   font-weight: 800;
 }
 
 .newin-hero__lead {
   margin: 8px 0 0;
   color: #59616d;
   font-size: 14px;
   max-width: 640px;
 }
 
 /* 图2 自定义条已弃用；条数 + 排序由 Woo 原生控件承担（图3） */
 
 /* Woo [products] — visual parity with former .newin-grid / .newin-card */
 .newin-products {
   margin-bottom: 8px;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid),
.elementor-widget-wc-archive-products {
   width: 100%;
   min-width: 0;
 }
 
 /* ---------- 图3：Woo 原生「Showing x–y of z」+ Default sorting（接管排序） ---------- */
 /* + Elementor Products Archive（.elementor-widget-wc-archive-products） */

 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce,
 .elementor-widget-wc-archive-products .woocommerce {
   width: 100%;
   min-width: 0;
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   column-gap: 0;
   row-gap: 0;
   align-items: stretch;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > .woocommerce-notices-wrapper,
 .elementor-widget-wc-archive-products .woocommerce > .woocommerce-notices-wrapper {
   grid-column: 1 / -1;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > .woocommerce-result-count,
 .elementor-widget-wc-archive-products .woocommerce > .woocommerce-result-count {
   grid-column: 1;
   float: none !important;
   margin: 0 !important;
   padding: 12px 14px;
   font-size: 12px;
   color: #5e6570;
   line-height: 1.4;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px 0 0 12px;
   display: flex;
   align-items: center;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > form.woocommerce-ordering,
 .elementor-widget-wc-archive-products .woocommerce > form.woocommerce-ordering {
   grid-column: 2;
   float: none !important;
   margin: 0 !important;
   padding: 12px 14px;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-left: 0;
   border-radius: 0 12px 12px 0;
   display: flex;
   align-items: center;
   justify-content: flex-end;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > form.woocommerce-ordering select.orderby,
 .elementor-widget-wc-archive-products .woocommerce > form.woocommerce-ordering select.orderby {
   font: inherit;
   border: 1px solid #dcd6ce;
   border-radius: 8px;
   padding: 6px 10px;
   background: #fff;
   min-height: 36px;
   max-width: min(280px, 72vw);
   cursor: pointer;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > ul.products,
 .elementor-widget-wc-archive-products .woocommerce > ul.products {
   grid-column: 1 / -1;
   margin-top: 16px;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > nav.woocommerce-pagination,
 .elementor-widget-wc-archive-products .woocommerce > nav.woocommerce-pagination {
   grid-column: 1 / -1;
 }
 
 @media (max-width: 639px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce,
   .elementor-widget-wc-archive-products .woocommerce {
     grid-template-columns: 1fr;
   }
 
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > .woocommerce-result-count,
   .elementor-widget-wc-archive-products .woocommerce > .woocommerce-result-count {
     grid-column: 1 / -1;
     border-radius: 12px 12px 0 0;
     border-bottom: 0;
   }
 
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > form.woocommerce-ordering,
   .elementor-widget-wc-archive-products .woocommerce > form.woocommerce-ordering {
     grid-column: 1 / -1;
     border-radius: 0 0 12px 12px;
     border-left: 1px solid #dcd6ce;
     border-top: 0;
     justify-content: stretch;
   }
 
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) > .woocommerce > form.woocommerce-ordering select.orderby,
   .elementor-widget-wc-archive-products .woocommerce > form.woocommerce-ordering select.orderby {
     width: 100%;
     max-width: none;
   }
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products,
 .elementor-widget-wc-archive-products ul.products {
   list-style: none;
   margin: 0;
   padding: 0;
   clear: both;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products::before,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products::after,
 .elementor-widget-wc-archive-products ul.products::before,
 .elementor-widget-wc-archive-products ul.products::after {
   content: none;
   display: none;
 }
 
 @media (max-width: 1020px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products,
   .elementor-widget-wc-archive-products ul.products {
     grid-template-columns: repeat(3, minmax(0, 1fr));
   }
 }
 
 @media (max-width: 760px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products,
   .elementor-widget-wc-archive-products ul.products {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }
 
 @media (max-width: 520px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products,
   .elementor-widget-wc-archive-products ul.products {
     grid-template-columns: 1fr;
   }
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products.columns-4,
 .elementor-widget-wc-archive-products ul.products.columns-4 {
   grid-template-columns: repeat(4, minmax(0, 1fr));
 }
 
 @media (max-width: 1020px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products.columns-4,
   .elementor-widget-wc-archive-products ul.products.columns-4 {
     grid-template-columns: repeat(3, minmax(0, 1fr));
   }
 }
 
 @media (max-width: 760px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products.columns-4,
   .elementor-widget-wc-archive-products ul.products.columns-4 {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }
 
 @media (max-width: 520px) {
   :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products.columns-4,
   .elementor-widget-wc-archive-products ul.products.columns-4 {
     grid-template-columns: 1fr;
   }
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product,
 .elementor-widget-wc-archive-products ul.products li.product {
   float: none;
   width: auto;
   max-width: none;
   margin: 0;
   clear: none;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 12px;
   overflow: hidden;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.05);
   display: flex;
   flex-direction: column;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product a.woocommerce-LoopProduct-link,
 .elementor-widget-wc-archive-products ul.products li.product a.woocommerce-LoopProduct-link,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product > a.woocommerce-loop-product__link,
 .elementor-widget-wc-archive-products ul.products li.product > a.woocommerce-loop-product__link,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product > a:first-child:not(.button),
 .elementor-widget-wc-archive-products ul.products li.product > a:first-child:not(.button) {
   display: flex;
   flex-direction: column;
   flex: 1 1 auto;
   min-height: 0;
   text-decoration: none;
   color: inherit;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product a.woocommerce-LoopProduct-link img,
 .elementor-widget-wc-archive-products ul.products li.product a.woocommerce-LoopProduct-link img,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product > a:first-child:not(.button) img,
 .elementor-widget-wc-archive-products ul.products li.product > a:first-child:not(.button) img {
   display: block;
   width: 100%;
   aspect-ratio: 4 / 3;
   object-fit: cover;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-loop-product__title,
 .elementor-widget-wc-archive-products .woocommerce-loop-product__title,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product .woocommerce-loop-product__title,
 .elementor-widget-wc-archive-products ul.products li.product .woocommerce-loop-product__title {
   margin: 0 0 8px;
   padding: 12px 14px 0;
   font-size: 14px;
   line-height: 1.35;
   font-weight: 700;
   color: #1b1d20;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product .woocommerce-loop-product__title a,
 .elementor-widget-wc-archive-products ul.products li.product .woocommerce-loop-product__title a {
   color: inherit;
   text-decoration: none;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product .woocommerce-loop-product__title a:hover,
 .elementor-widget-wc-archive-products ul.products li.product .woocommerce-loop-product__title a:hover {
   color: #e01e37;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product .price,
 .elementor-widget-wc-archive-products ul.products li.product .price {
   margin: 0 0 12px;
   padding: 0 14px;
   font-size: 14px;
   font-weight: 800;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product .price del,
 .elementor-widget-wc-archive-products ul.products li.product .price del {
   color: #8f97a2;
   margin-right: 6px;
   font-weight: 600;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product .price ins,
 .elementor-widget-wc-archive-products ul.products li.product .price ins {
   color: #e01e37;
   text-decoration: none;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product a.button,
 .elementor-widget-wc-archive-products ul.products li.product a.button,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product button.button,
 .elementor-widget-wc-archive-products ul.products li.product button.button {
   box-sizing: border-box;
   margin: 0 14px 14px;
   display: block;
   text-align: center;
   border: 1px solid #dcd6ce;
   border-radius: 999px;
   padding: 10px 14px;
   text-decoration: none;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   font-size: 11px;
   font-weight: 800;
   color: #2b3340;
   background: #fff;
   cursor: pointer;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product a.button:hover,
 .elementor-widget-wc-archive-products ul.products li.product a.button:hover,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) ul.products li.product button.button:hover,
 .elementor-widget-wc-archive-products ul.products li.product button.button:hover {
   border-color: #e01e37;
   color: #e01e37;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination,
 .elementor-widget-wc-archive-products .woocommerce-pagination {
   margin-top: 22px;
   padding: 14px 16px;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   box-shadow: 0 4px 14px rgba(20, 21, 26, 0.05);
 }
 
 /* 去掉主题/Woo 默认的「格子」表格感，统一为圆角药丸 */
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination ul.page-numbers,
 .elementor-widget-wc-archive-products .woocommerce-pagination ul.page-numbers {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   gap: 10px;
   list-style: none;
   margin: 0;
   padding: 0;
   border: none !important;
   width: 100%;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination ul.page-numbers li,
 .elementor-widget-wc-archive-products .woocommerce-pagination ul.page-numbers li {
   margin: 0;
   padding: 0;
   list-style: none;
   border: none !important;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   float: none !important;
   background: transparent !important;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination a.page-numbers,
 .elementor-widget-wc-archive-products .woocommerce-pagination a.page-numbers,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination span.page-numbers,
 .elementor-widget-wc-archive-products .woocommerce-pagination span.page-numbers {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 42px;
   min-height: 42px;
   padding: 0 14px;
   border-radius: 999px;
   border: 1px solid #e8e4de;
   text-decoration: none !important;
   color: #1b1d20;
   font-size: 13px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: -0.02em;
   background: #faf9f7;
   box-sizing: border-box;
   transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination span.page-numbers.current,
 .elementor-widget-wc-archive-products .woocommerce-pagination span.page-numbers.current,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination span.current,
 .elementor-widget-wc-archive-products .woocommerce-pagination span.current {
   background: rgba(224, 30, 55, 0.1);
   border-color: #e01e37;
   color: #c41830;
   box-shadow: 0 1px 0 rgba(224, 30, 55, 0.12);
   cursor: default;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination a.page-numbers:hover,
 .elementor-widget-wc-archive-products .woocommerce-pagination a.page-numbers:hover,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination a.page-numbers:focus-visible,
 .elementor-widget-wc-archive-products .woocommerce-pagination a.page-numbers:focus-visible {
   border-color: #e01e37;
   color: #e01e37;
   background: #fffdfb;
   outline: none;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination a.page-numbers:active,
 .elementor-widget-wc-archive-products .woocommerce-pagination a.page-numbers:active {
   transform: scale(0.98);
 }
 
 /* 省略号 */
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination .page-numbers.dots,
 .elementor-widget-wc-archive-products .woocommerce-pagination .page-numbers.dots {
   min-width: auto;
   padding: 0 6px;
   border: none;
   background: transparent;
   color: #6e7582;
   font-weight: 600;
   cursor: default;
 }
 
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination .page-numbers.dots:hover {
   color: #1b1d20;
   background: transparent;
 }
 
 /* 上一页 / 下一页（含 « » 或箭头文案） */
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination a.prev,
 :is(.newin-products-wrap, .layout-archive__main .loop-grid) .woocommerce-pagination a.next {
   min-width: 44px;
   padding: 0 12px;
   font-weight: 800;
 }
 
 .newin-promo {
   margin-top: 24px;
   background: linear-gradient(120deg, #2b2f42 0%, #202433 100%);
   color: #fff;
   border-radius: 14px;
   padding: 20px;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-items: center;
   gap: 14px 20px;
 }
 
 .newin-promo__tag {
   margin: 0 0 8px;
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #b9c5ff;
   font-weight: 800;
 }
 
 .newin-promo h2 {
   margin: 0 0 8px;
   font-size: 1.2rem;
   letter-spacing: -0.02em;
 }
 
 .newin-promo p {
   margin: 0;
   font-size: 14px;
   color: #d9dded;
   max-width: 640px;
 }
 
 .newin-promo .page-actions {
   margin-top: 0;
 }
 
 .newin-promo .page-actions a.secondary {
   border-color: rgba(255, 255, 255, 0.35);
   color: #fff;
   background: transparent;
 }
 
 .newin-promo .page-actions a.secondary:hover {
   border-color: #fff;
 }
 
 .newin-faq {
   margin-top: 24px;
   background: #fff;
   border: 1px solid #dcd6ce;
   border-radius: 14px;
   padding: 18px 18px 6px;
 }
 
 .newin-faq h2 {
   margin: 0 0 12px;
   font-size: 1.1rem;
 }
 
 .newin-faq details {
   border-top: 1px solid #ece7df;
   padding: 12px 0;
 }
 
 .newin-faq details:first-of-type {
   border-top: 0;
   padding-top: 0;
 }
 
 .newin-faq summary {
   cursor: pointer;
   font-weight: 700;
   color: #2a3240;
 }
 
 .newin-faq p {
   margin: 8px 0 0;
   color: #5d6570;
   font-size: 14px;
 }
 
 .page-header {
   display: none;
 }/* End custom CSS */