.page-head .dek a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.page-head .dek a:hover{color:var(--ink)}
.filters{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:26px 0 0;
}
.filters .sep{width:1px;height:26px;background:var(--line);margin:0 6px}
.filters .sort{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink-soft)}
.filters .sort>svg{width:19px;height:19px;stroke:var(--ink-soft);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.filters select{
  padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;
  background:var(--card);font:inherit;font-size:14px;font-weight:600;color:var(--head);
  outline:none;cursor:pointer;
}
.count{font-size:13px;color:var(--head);margin:22px 0 16px}
.kit-banner{
  margin-top:56px;padding:clamp(30px,4.5vw,50px);
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;
}
.kit-banner h2{font-size:clamp(26px,3.2vw,38px);margin:12px 0 8px}
.kit-banner p{font-size:15px;color:var(--on-dark-soft);max-width:52ch}
.kit-banner .kb-price{font-style:italic;font-size:19px;color:var(--accent);margin-top:10px}
.kit-banner .kb-price s{color:var(--on-dark-faint);font-size:15px;margin-right:8px}
/* one row at every width (2026-10-09): the pills scroll inside their own area (soft fade at the
   right edge) and the sort control sits at the far right, sized to its label */
.filters{flex-wrap:nowrap}
.filters .pills{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;padding:2px 0;
  overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent)}
.filters .pills::-webkit-scrollbar{display:none}
.filters .pill{flex:0 0 auto;white-space:nowrap}
.filters .sort{flex:0 0 auto;margin-left:auto;gap:8px}
/* sort: no box at rest; hover / keyboard focus shows the same pill outline as the effect pills */
.filters .sort{box-sizing:border-box;height:38px;padding:0 16px;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:border-color .2s ease}
.filters .sort:focus-within{border-color:var(--pl-line-strong)}
@media(hover:hover){.filters .sort:hover{border-color:var(--pl-line-strong)}}
@media(max-width:820px){
  .filters .pills{display:contents}   /* phones: pills + sort share one swipe row, as before */
  .filters .sort{margin-left:0;flex:0 0 auto}
  .kit-banner{grid-template-columns:1fr}
}
.empty{
  text-align:center;padding:70px 20px;border:1.5px dashed var(--line);border-radius:var(--r-lg);
  color:var(--ink-soft);font-size:15px;
}

/* ===== mobile filter bar + bottom sheet (Sephora-style) ===== */
.fbar{display:none}
@media(max-width:820px){
  /* phones: effect pills as one swipeable row (2026-10-09; were hidden) */
  .filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 -20px;padding:16px 20px 4px;gap:8px}
  .filters::-webkit-scrollbar{display:none}
  .filters .pill{flex:0 0 auto;white-space:nowrap}
  .fbar{
    display:flex;gap:8px;overflow-x:auto;padding:22px 0 4px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .fbar::-webkit-scrollbar{display:none}
}
.fbar .chip{
  flex:none;display:inline-flex;align-items:center;gap:7px;
  padding:9px 15px;border:1.5px solid var(--line);border-radius:999px;
  font-size:13px;font-weight:600;background:var(--card);white-space:nowrap;
}
.fbar .chip .x{color:var(--ink-soft);font-size:12px}
.fbar .chip.ic{width:40px;height:40px;padding:0;justify-content:center;flex:none}
.fbar .chip.ic svg{width:19px;height:19px;stroke:var(--ink);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.fbar .sort-chip{margin-left:auto}
.fsheet-bg{
  position:fixed;inset:0;z-index:190;background:rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease-out),visibility 0s .35s;
}
.fsheet-bg.on{opacity:1;visibility:visible;transition-delay:0s}
.fsheet{
  position:fixed;left:0;right:0;bottom:0;z-index:195;
  background:var(--paper);border-radius:10px 16px 0 0;
  max-height:82dvh;display:flex;flex-direction:column;
  transform:translateY(102%);transition:transform .45s var(--ease-out);
}
.fsheet.on{transform:none}
.fs-head{position:relative;text-align:center;padding:18px;font-weight:600;font-size:16px;border-bottom:1px solid var(--line)}
.fs-head .x{position:absolute;right:8px;top:9px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:16px;color:var(--ink-soft)}
.fs-body{overflow:auto;padding:0 20px;flex:1}
.fs-body .acc summary{padding:16px 2px;font-size:15px}
.fs-pills{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:8px}
.fs-opt{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:11px 2px;font-size:15px;color:var(--ink-soft);
}
.fs-opt .dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center}
.fs-opt.on{color:var(--ink);font-weight:600}
.fs-opt.on .dot{border-color:var(--ink)}
.fs-opt.on .dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--ink)}
.fs-foot{
  display:flex;gap:16px;align-items:center;
  padding:14px 20px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
}
.fs-foot .btn{flex:1;justify-content:center}
.empty h3{font-size:24px;color:var(--ink);margin-bottom:8px}
.woocommerce-products-header{display: none;}
.site-main .kadence-shop-top-row{padding-bottom: 10px;}
.site-main .kadence-shop-top-row .kadence-woo-results-count p {
    color: var(--ink-soft);
    font-size: 13px;
}
.kwt-add-to-cart-loop a{
	transition: all .3s var(--ease-out);
}
.kwt-add-to-cart-loop a:hover{
	transform: translateY(-2px)
}

/* end of a product archive: "That's everything for now" + product-request mail link (2026-10-09) */
.pl-archive-end{margin:48px 0 0;text-align:center}   /* no rule line; space alone separates it from the grid */
.pl-archive-end__title{margin:0;font-size:var(--pl-fs-h5,16px);font-weight:600;color:var(--pl-blue);line-height:var(--pl-lh-snug,1.25)}
.pl-archive-end__text{margin:6px 0 0;font-size:var(--pl-fs-sm,14px);color:var(--pl-ink-soft);line-height:1.5}
.pl-archive-end__text a{color:var(--pl-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap}   /* equal space above / below the pills; no rule line */

/* product pagination (2026-10-09): round 44px buttons in the body font; current page = sunrise
   fill, the rest outline-on-hover like the filter pills; chevron icons for prev / next */
html body nav.woocommerce-pagination{margin-top:var(--pl-space-head);text-align:center}
html body nav.woocommerce-pagination ul.page-numbers{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;border:0 !important;list-style:none}
html body nav.woocommerce-pagination ul.page-numbers li{margin:0;border:0 !important;float:none}
html body nav.woocommerce-pagination ul.page-numbers .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;height:44px;padding:0 6px;border:1px solid transparent !important;border-radius:999px !important;
  background:transparent;color:var(--pl-blue);font-family:var(--global-body-font-family);font-size:var(--pl-fs-md);font-weight:600;line-height:1;text-decoration:none}
html body nav.woocommerce-pagination ul.page-numbers .page-numbers.current{background:var(--pl-sunrise) !important;color:var(--pl-blue) !important}
html body nav.woocommerce-pagination ul.page-numbers .page-numbers.dots{min-width:24px;color:var(--pl-ink-soft)}
html body nav.woocommerce-pagination ul.page-numbers svg{width:20px;height:20px}
/* phones: one row, no wrap (Dennis 2026-10-14): 36px buttons, no gaps, so up to 9 items fit in 335px */
@media (max-width: 480px) {
    html body nav.woocommerce-pagination ul.page-numbers {
        flex-wrap: nowrap;
        gap: 0;
    }
    html body nav.woocommerce-pagination ul.page-numbers .page-numbers {
        min-width: 36px;
        height: 36px;
        padding: 0 4px;
    }
    html body nav.woocommerce-pagination ul.page-numbers .page-numbers.dots {
        min-width: 20px;
        padding: 0;
    }
}
@media(hover:hover){
  html body nav.woocommerce-pagination ul.page-numbers a.page-numbers:hover{background:transparent !important;border-color:var(--pl-line-strong) !important;color:var(--pl-blue) !important;opacity:1 !important}
}

/* category lead + About copy (2026-10-09). Lead: ACF "Category Description" under the H1.
   About: Kadence's bottom category description, printed right after the grid in a bare
   div.clearfix — styled as a readable text column with the site's link style. */
.page-head .dek p{margin:0}
.page-head .dek{max-width:640px;margin:8px 0 0;font-size:var(--pl-fs-md,16px);line-height:1.6;color:var(--pl-ink-soft,#4a4866)}
.page-head .dek a{color:var(--pl-blue)}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix{max-width:720px;margin:var(--pl-space-section,84px) 0 0;color:var(--pl-ink-soft,#4a4866);font-size:var(--pl-fs-md,16px);line-height:1.7}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix h2{margin:0 0 12px;font-size:var(--pl-fs-h3,20px);line-height:var(--pl-lh-snug,1.2);color:var(--pl-blue)}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix p{margin:0 0 14px}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix p:last-child{margin-bottom:0}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix a{color:var(--pl-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* desktop (2026-10-12): the lead and the About copy no longer sit in a narrow column with the
   right half of the page empty. Header: H1 on top, lead underneath at full width.
   About: heading left, paragraphs right. Phones / tablets keep the single column. */
@media (min-width:1025px){
.page-head .dek{max-width:none}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:64px;align-items:start}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix > *{grid-column:2}
:is(ul.products, .woocommerce-pagination, .pl-archive-end) + .clearfix > h2:first-child{grid-column:1;grid-row:1 / span 20;margin:0}
}

/* ---- "Why Poppy & Lotus?" band (pl_archive_why in snippets/shop.php, 2026-10-12) ----
   Alt-style grey band across the full width (box-shadow + clip-path, so no horizontal
   scroll); the grey also runs down under the gap above the footer (it is always the last
   thing on these pages, and the footer paints over the rest). Heading + pill, three white cards with a hairline, no shadow. */
.pl-why{margin:var(--pl-space-section,84px) 0 0;padding:56px 0 0;background:var(--pl-seafoam,#f4f4f4);box-shadow:0 0 0 100vmax var(--pl-seafoam,#f4f4f4);clip-path:inset(0 -100vmax -200px)}
/* Category and brand reviews follow this band: keep its background inside the section. */
body:is(.tax-product_cat, .tax-product_brand) .pl-why{padding-bottom:56px;clip-path:inset(0 -100vmax 0)}
@media(max-width:767px){body:is(.tax-product_cat, .tax-product_brand) .pl-why{padding-bottom:40px}}
.pl-why__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:var(--pl-space-head,32px)}
.pl-why__title{margin:0;font-family:var(--global-heading-font-family);font-size:var(--pl-fs-h2);font-weight:700;line-height:var(--pl-lh-tight);letter-spacing:-.01em;color:var(--pl-blue)}
.pl-why__pill{margin:0;padding:6px 14px;border-radius:999px;background:#fff;color:var(--pl-blue);font-size:var(--pl-fs-sm,14px);font-weight:600;line-height:1.4}
.pl-why__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--pl-gap,16px)}
.pl-why__card{padding:28px;border:1px solid var(--pl-line);border-radius:var(--pl-radius,16px);background:#fff}
.pl-why__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--pl-sky);color:var(--pl-blue)}
.pl-why__card h3{margin:20px 0 8px;font-size:var(--pl-fs-h4,18px);font-weight:600;line-height:var(--pl-lh-snug,1.2);color:var(--pl-blue)}
.pl-why__card p{margin:0;color:var(--pl-ink-soft,#4a4866);font-size:15px;line-height:1.6}
@media (min-width:768px){.pl-why__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.pl-why{padding:40px 0 0}.pl-why__card{padding:24px}}


/* =====================================================================
   Category / brand pages: reviews strip (2026-10-19; moved from Additional CSS on 2026-10-20)
   The "d8review" slider (Splide) restyled to match the "Why shop with us" cards above it: same page edges, same
   heading, white cards with the P&L line + 16px radius, Midnight stars, P&L arrow buttons.
   ===================================================================== */

/* the grey "why" band bled 200px down behind the reviews (clip-path bottom -200px); end it at its own padding */
html body.archive .pl-why{padding-bottom:56px!important;box-shadow:0 0 0 100vmax var(--pl-seafoam)!important;clip-path:inset(0 -100vmax)!important}
html body .custom-review-slider{--plr-pad:var(--global-content-edge-padding);width:auto!important;max-width:var(--global-calc-content-width)!important;margin:56px auto 0!important;padding:0 var(--plr-pad)!important;box-sizing:content-box}
@media (min-width:1441px){html body .custom-review-slider{--plr-pad:0px}}
html body .custom-review-slider .d8review-header{margin:0 0 20px!important;padding:0!important;border:0!important}
html body .custom-review-slider .d8rv-title{display:flex!important;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:0 104px 0 0!important}
html body .custom-review-slider .d8rv-title h3{margin:0!important;font-size:var(--pl-fs-h2)!important;font-weight:700!important;line-height:1.2!important;color:var(--pl-blue)!important}
html body .custom-review-slider .d8rv-title a{font-size:15px!important;font-weight:600!important;color:var(--pl-blue)!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:var(--pl-line-strong)}
html body .custom-review-slider .d8rv-title a[href]:hover{text-decoration-color:var(--pl-blue)}   /* [href]: beats the site-wide link hover */
html body .custom-review-slider .splide__arrow{top:0!important;bottom:auto!important;display:flex!important;align-items:center;justify-content:center;width:40px!important;height:40px!important;margin:0!important;padding:0!important;border:1px solid var(--pl-line)!important;border-radius:999px!important;background:#fff no-repeat center/18px!important;font-size:0!important;color:transparent!important;box-shadow:none!important;transform:none!important;opacity:1}
html body .custom-review-slider .splide__arrow--prev{left:auto!important;right:calc(var(--plr-pad) + 48px)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23030032' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E")!important}
html body .custom-review-slider .splide__arrow--next{right:var(--plr-pad)!important;left:auto!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23030032' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")!important}
html body .custom-review-slider .splide__arrow:hover{border-color:var(--pl-line-strong)!important}
html body .custom-review-slider .splide__arrow:disabled{opacity:.4;cursor:default}
html body .custom-review-slider .d8review__slide{display:flex!important;flex-direction:column;padding:24px!important;border:1px solid var(--pl-line)!important;border-radius:var(--pl-radius)!important;background:#fff!important;color:var(--pl-blue)!important}
html body .custom-review-slider .d8review-reviews-user-infobox{display:flex!important;align-items:center;gap:12px;margin:0 0 8px!important}
html body .custom-review-slider .review-avatar{display:flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px!important;height:40px!important;margin:0!important;padding:0!important;border-radius:50%!important;background:var(--pl-sunrise)!important;color:var(--pl-blue)!important;font-size:16px!important;font-weight:700!important;line-height:1!important}
html body .custom-review-slider .review-avatar span{font-size:16px!important;font-weight:700!important;line-height:1!important;color:inherit!important}
html body .custom-review-slider .user-name{margin:0!important;font-size:15px!important;font-weight:700!important;color:var(--pl-blue)!important}
html body .custom-review-slider .d8review-ratings-wrapper{display:flex!important;align-items:center;gap:8px}
html body .custom-review-slider .star-icon{width:14px!important;height:14px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23030032' d='M12 2.5l2.94 5.96 6.56.95-4.75 4.63 1.12 6.54L12 17.5l-5.87 3.08 1.12-6.54L2.5 9.41l6.56-.95z'/%3E%3C/svg%3E") no-repeat center/14px 14px!important}
html body .custom-review-slider .d8review-reviews-date{margin:0!important;font-size:13px!important;color:var(--pl-ink-soft)!important}
html body .custom-review-slider .d8review-reviews-title{margin:12px 0 0!important}
html body .custom-review-slider .d8review-reviews-message-block{margin:0!important;font-size:15px!important;font-weight:400!important;line-height:1.55!important;color:var(--pl-blue)!important}
html body .custom-review-slider .d8review-reviews-infobox{position:static!important;display:flex!important;align-items:center;gap:12px;margin:auto 0 0!important;padding:16px 0 0!important;border-top:1px solid var(--pl-line)}
html body .custom-review-slider .d8review-reviews-inner{margin-bottom:16px!important}
html body .custom-review-slider .d8review-reviews-imgbox{flex:0 0 48px;width:48px!important;height:48px!important}
html body .custom-review-slider .d8review-reviews-image{width:48px!important;height:48px!important;border:1px solid var(--pl-line)!important;border-radius:8px!important;overflow:hidden;background:#fff}
html body .custom-review-slider .d8review-reviews-image img{width:100%!important;height:100%!important;object-fit:contain}
html body .custom-review-slider .d8review-reviews-message{display:flex;align-items:center;min-width:0}
html body .custom-review-slider .d8review-reviews-product-title,html body .custom-review-slider .d8review-reviews-product-title *{font-size:14px!important;font-weight:600!important;line-height:1.4!important;color:var(--pl-blue)!important;text-decoration:none!important}
/* reviews strip — phone: the plugin's own phone rules hid the heading and floated arrows over the cards */
@media (max-width:767px){
html body #dreview-slider.custom-review-slider{width:auto!important;margin:40px 0 0!important;padding:0!important;max-width:none!important}
html body #dreview-slider.custom-review-slider .d8rv-title span{display:inline!important}   /* "See all … reviews" was hidden on phones */
html body #dreview-slider.custom-review-slider .d8review-header{margin:0 0 16px!important}
html body #dreview-slider.custom-review-slider .d8rv-title{display:flex!important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding:0 var(--global-content-edge-padding)!important}
html body #dreview-slider.custom-review-slider .d8rv-title h3{font-size:var(--pl-fs-h2)!important}
html body #dreview-slider.custom-review-slider .d8rv-title a{font-size:14px!important}
html body #dreview-slider.custom-review-slider .splide__arrow{display:none!important}   /* swipe instead */
}
/* card internals (ID-level): the plugin styles these with #dreview-slider rules, which beat the class rules above */
html body #dreview-slider .d8review__list{align-items:stretch!important}
html body #dreview-slider .d8review__slide{height:auto!important}
html body #dreview-slider .d8review-reviews-inner{display:flex!important;flex-direction:column!important;flex:1 1 auto;height:auto!important;margin:0!important;padding:0!important}   /* holds everything incl. the product row */
html body #dreview-slider .review-avatar{width:40px!important;height:40px!important;min-width:40px;aspect-ratio:1/1;flex:0 0 40px!important}
html body #dreview-slider .d8review-reviews-title{height:auto!important;margin:12px 0 20px!important}
html body #dreview-slider .d8review-reviews-message-block{height:auto!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
html body #dreview-slider .d8review-reviews-infobox{margin:auto 0 0!important;padding:16px 0 0!important;gap:12px!important}   /* pinned to the card bottom so all cards line up */
html body #dreview-slider .d8review-reviews-imgbox{flex:0 0 48px!important;width:48px!important;height:48px!important;padding:0!important}
html body #dreview-slider .d8review-reviews-image{display:block!important;width:48px!important;height:48px!important;padding:0!important}
html body #dreview-slider .d8review-reviews-image a.d8review-reviews-link{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:100%!important;padding:4px!important;border:0!important;box-sizing:border-box}
html body #dreview-slider .d8review-reviews-image img{width:100%!important;height:100%!important;object-fit:contain}
html body #dreview-slider .d8review-reviews-product-title span{font-weight:400!important;color:var(--pl-ink-soft)!important}   /* "on" */
