.elementor-1428 .elementor-element.elementor-element-4c876068{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-7202d6f6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-7202d6f6:not(.elementor-motion-effects-element-type-background), .elementor-1428 .elementor-element.elementor-element-7202d6f6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F4F1;}.elementor-1428 .elementor-element.elementor-element-2eacafab{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:44px;--padding-bottom:44px;--padding-left:24px;--padding-right:24px;}.elementor-1428 .elementor-element.elementor-element-689adb8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-734e6d13 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:52px;font-weight:500;line-height:1.05em;letter-spacing:-0.6px;color:#1B2A41;}.elementor-1428 .elementor-element.elementor-element-1e3eadf9{font-family:"Figtree", Sans-serif;font-size:17px;font-weight:400;line-height:1.6em;color:#56607A;}.elementor-1428 .elementor-element.elementor-element-7d99f22a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-47bb2e10 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.3em;letter-spacing:1.4px;color:#56607A;}.elementor-1428 .elementor-element.elementor-element-3577f993{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-56d79d1f{--display:flex;--min-height:112px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:14px;--padding-bottom:14px;--padding-left:14px;--padding-right:30px;}.elementor-1428 .elementor-element.elementor-element-56d79d1f:not(.elementor-motion-effects-element-type-background), .elementor-1428 .elementor-element.elementor-element-56d79d1f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBEBB9;}.elementor-1428 .elementor-element.elementor-element-56d79d1f.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-1428 .elementor-element.elementor-element-4b3066a2 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:34px;font-weight:500;line-height:1em;letter-spacing:-0.4px;color:#6A4C00;}.elementor-1428 .elementor-element.elementor-element-25c05d1c .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:13px;font-weight:600;line-height:1.3em;color:#1B2A41;}.elementor-1428 .elementor-element.elementor-element-691d8ad2{--display:flex;--min-height:112px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:14px;--padding-bottom:14px;--padding-left:14px;--padding-right:30px;}.elementor-1428 .elementor-element.elementor-element-691d8ad2:not(.elementor-motion-effects-element-type-background), .elementor-1428 .elementor-element.elementor-element-691d8ad2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#DDEDE1;}.elementor-1428 .elementor-element.elementor-element-691d8ad2.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-1428 .elementor-element.elementor-element-9472502 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:34px;font-weight:500;line-height:1em;letter-spacing:-0.4px;color:#28603F;}.elementor-1428 .elementor-element.elementor-element-61d0c431 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:13px;font-weight:600;line-height:1.3em;color:#1B2A41;}.elementor-1428 .elementor-element.elementor-element-4fc93536{--display:flex;--min-height:112px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:14px;--padding-bottom:14px;--padding-left:14px;--padding-right:30px;}.elementor-1428 .elementor-element.elementor-element-4fc93536:not(.elementor-motion-effects-element-type-background), .elementor-1428 .elementor-element.elementor-element-4fc93536 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#DCE8F8;}.elementor-1428 .elementor-element.elementor-element-4fc93536.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-1428 .elementor-element.elementor-element-2c9fff47 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:34px;font-weight:500;line-height:1em;letter-spacing:-0.4px;color:#1C4687;}.elementor-1428 .elementor-element.elementor-element-49c8693d .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:13px;font-weight:600;line-height:1.3em;color:#1B2A41;}.elementor-1428 .elementor-element.elementor-element-ba562b7{--display:flex;--min-height:112px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:14px;--padding-bottom:14px;--padding-left:14px;--padding-right:30px;}.elementor-1428 .elementor-element.elementor-element-ba562b7:not(.elementor-motion-effects-element-type-background), .elementor-1428 .elementor-element.elementor-element-ba562b7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4E0DC;}.elementor-1428 .elementor-element.elementor-element-ba562b7.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-1428 .elementor-element.elementor-element-241859e4 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:34px;font-weight:500;line-height:1em;letter-spacing:-0.4px;color:#86372E;}.elementor-1428 .elementor-element.elementor-element-79d6f170 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:13px;font-weight:600;line-height:1.3em;color:#1B2A41;}.elementor-1428 .elementor-element.elementor-element-440ca2b3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-3a88b0f0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:36px;--padding-bottom:88px;--padding-left:24px;--padding-right:24px;}.elementor-1428 .elementor-element.elementor-element-4594dd7f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-4594dd7f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1428 .elementor-element.elementor-element-633b84a2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1428 .elementor-element.elementor-element-633b84a2.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-1428 .elementor-element.elementor-element-38cb0e6.elementor-wc-products  ul.products{grid-column-gap:28px;grid-row-gap:44px;}.elementor-1428 .elementor-element.elementor-element-38cb0e6.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(min-width:768px){.elementor-1428 .elementor-element.elementor-element-2eacafab{--content-width:1280px;}.elementor-1428 .elementor-element.elementor-element-689adb8{--width:52%;}.elementor-1428 .elementor-element.elementor-element-7d99f22a{--width:42%;}.elementor-1428 .elementor-element.elementor-element-56d79d1f{--width:23%;}.elementor-1428 .elementor-element.elementor-element-691d8ad2{--width:23%;}.elementor-1428 .elementor-element.elementor-element-4fc93536{--width:23%;}.elementor-1428 .elementor-element.elementor-element-ba562b7{--width:23%;}.elementor-1428 .elementor-element.elementor-element-3a88b0f0{--content-width:1280px;}.elementor-1428 .elementor-element.elementor-element-4594dd7f{--width:232px;}}@media(max-width:1024px) and (min-width:768px){.elementor-1428 .elementor-element.elementor-element-689adb8{--width:100%;}.elementor-1428 .elementor-element.elementor-element-7d99f22a{--width:100%;}.elementor-1428 .elementor-element.elementor-element-56d79d1f{--width:23%;}.elementor-1428 .elementor-element.elementor-element-691d8ad2{--width:23%;}.elementor-1428 .elementor-element.elementor-element-4fc93536{--width:23%;}.elementor-1428 .elementor-element.elementor-element-ba562b7{--width:23%;}.elementor-1428 .elementor-element.elementor-element-4594dd7f{--width:100%;}}@media(max-width:1024px){.elementor-1428 .elementor-element.elementor-element-2eacafab{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:28px 28px;--row-gap:28px;--column-gap:28px;--padding-top:36px;--padding-bottom:36px;--padding-left:24px;--padding-right:24px;}.elementor-1428 .elementor-element.elementor-element-734e6d13 .elementor-heading-title{font-size:44px;}.elementor-1428 .elementor-element.elementor-element-3a88b0f0{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:20px;--padding-bottom:72px;--padding-left:24px;--padding-right:24px;}.elementor-1428 .elementor-element.elementor-element-38cb0e6.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:36px;}}@media(max-width:767px){.elementor-1428 .elementor-element.elementor-element-4c876068{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-7202d6f6{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-2eacafab{--flex-wrap:nowrap;--padding-top:22px;--padding-bottom:24px;--padding-left:16px;--padding-right:16px;}.elementor-1428 .elementor-element.elementor-element-689adb8{--width:100%;--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-734e6d13 .elementor-heading-title{font-size:34px;}.elementor-1428 .elementor-element.elementor-element-1e3eadf9{font-size:16px;}.elementor-1428 .elementor-element.elementor-element-7d99f22a{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-56d79d1f{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-691d8ad2{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-4fc93536{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-ba562b7{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-440ca2b3{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-3a88b0f0{--gap:12px 12px;--row-gap:12px;--column-gap:12px;--flex-wrap:nowrap;--padding-top:14px;--padding-bottom:56px;--padding-left:16px;--padding-right:16px;}.elementor-1428 .elementor-element.elementor-element-4594dd7f{--width:100%;--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-633b84a2{--flex-wrap:nowrap;}.elementor-1428 .elementor-element.elementor-element-38cb0e6.elementor-wc-products  ul.products{grid-column-gap:14px;grid-row-gap:28px;}}/* Start custom CSS for container, class: .elementor-element-4c876068 */:root{
  /* BRAND: logo colours. Change here to recolour the page. */
  --ejp-navy:#14284B; --ejp-teal:#1797B0; --ejp-teal-d:#0E6E83; --ejp-teal-h:#0B5C6E; --ejp-orange:#F26A21;
  --ejp-teal-soft:#DDF0F3; --ejp-teal-soft-h:#C9E7EC; --ejp-orange-soft:#FDE6D6; --ejp-orange-d:#9A3F0C;
  --ejp-ink:#1B2A41; --ejp-ink2:#56607A; --ejp-line:#E3E6EC; --ejp-tile:#F4F4F1; --ejp-gold:#B8860B;
  --ejp-serif:"Newsreader",Georgia,"Times New Roman",serif; --ejp-sans:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --ejp-clouds:clamp(64px,7.5vw,112px); --ejp-ground:clamp(70px,7.6vw,118px);
}
.e-con.ejp-code{display:none!important}
.elementor-editor-active .e-con.ejp-code{display:flex!important}
/* text links: orange underline, teal on hover */
.ejp-tlink .elementor-button{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px;text-decoration-color:var(--ejp-orange)!important}
.ejp-tlink .elementor-button:hover{text-decoration-color:var(--ejp-teal)!important}
.ejp-btn .elementor-button{transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.ejp-btn .elementor-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px rgba(14,110,131,.6)}

/* ---------- AGE TILES ---------- */
.ejp-age{transition:transform .2s ease;text-decoration:none!important}
.ejp-age:hover{transform:translateY(-3px)}

/* ---------- BOOK CARDS (WooCommerce [products] rebuilt into one fixed block) ----------
   Never put container-type on the card or the grid: Chrome then measures the rows too short inside
   Elementor's wrapped mobile containers and the cards run into the next section. */
.ejp-products .woocommerce{margin:0}
.ejp-products,.ejp-products .elementor-shortcode,.ejp-products .woocommerce{min-width:0;max-width:100%}
.ejp-products ul.products{margin:0!important;padding:0!important;list-style:none!important}
.ejp-products ul.products::before,.ejp-products ul.products::after{content:none!important;display:none!important}
.ejp-products ul.products li.product.ejp-card{float:none!important;width:auto!important;margin:0!important;padding:0!important;text-align:left!important;
  display:flex!important;flex-direction:column;gap:.4rem;min-width:0;background:none;border:0;box-shadow:none}
.ejp-tile{position:relative;display:block;aspect-ratio:4/5;max-width:100%;overflow:hidden;border-radius:4px;background:var(--ejp-tile)}
.ejp-products li.ejp-card .ejp-tile img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;margin:0!important;border-radius:0!important;box-shadow:none!important;transition:transform .4s ease}
.ejp-card:hover .ejp-tile img{transform:scale(1.04)}
.ejp-badge{position:absolute;left:10px;top:10px;z-index:2;background:#fff;color:var(--ejp-ink);border-radius:2px;padding:.25rem .5rem;font:600 .68rem/1 var(--ejp-sans);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 1px 3px rgba(27,42,65,.25)}
.ejp-badge.best{background:var(--ejp-orange-soft);color:var(--ejp-orange-d)}
.ejp-card .ejp-meta{margin:.55rem 0 0;font:600 .72rem/1.3 var(--ejp-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ejp-ink2)}
.ejp-products li.ejp-card .ejp-title{margin:0!important;padding:0!important;font:500 1.12rem/1.25 var(--ejp-serif)!important;color:var(--ejp-ink)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.ejp-title a{color:inherit!important;text-decoration:none!important}
.ejp-title a:hover{text-decoration:underline!important;text-underline-offset:3px}
.ejp-card .ejp-rating{margin:0;font:400 .82rem/1.3 var(--ejp-sans);color:var(--ejp-ink2)}
.ejp-card .ejp-rating b{color:var(--ejp-gold);font-weight:600;letter-spacing:1px}
.ejp-buy{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--ejp-line);padding-top:.85rem}
.ejp-products li.ejp-card .ejp-buy .price{margin:0!important;font:700 1.3rem/1 var(--ejp-sans)!important;letter-spacing:-.01em;color:var(--ejp-ink)!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.ejp-buy .price del{font-size:.75em;font-weight:500;opacity:.55;margin-right:.25em}
.ejp-buy .price ins{text-decoration:none;background:none}
.ejp-products li.ejp-card .ejp-buy .button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:.4rem;flex:none;min-height:42px;margin:0!important;padding:.5rem .9rem!important;border:0!important;border-radius:4px!important;background:var(--ejp-teal-soft)!important;color:var(--ejp-teal-d)!important;font:600 .84rem/1 var(--ejp-sans)!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;white-space:nowrap;box-shadow:none!important;transition:background-color .2s ease,color .2s ease}
.ejp-products li.ejp-card .ejp-buy .button:hover{background:var(--ejp-teal-d)!important;color:#fff!important}
.ejp-buy .button svg{width:16px;height:16px;flex:none}
.ejp-buy .button.loading{opacity:.6}
.ejp-buy .button.added::after{content:"✓";margin-left:.2rem}
.ejp-buy .added_to_cart{display:none!important}
/* Narrow cards. The size check sits on the price/button row only (never on the card or the grid):
   size containment on the whole card made Chrome measure the rows too short on phones. */
.ejp-buy{container:ejpbuy / inline-size}
@container ejpbuy (max-width:235px){
  .ejp-products li.ejp-card .ejp-buy .price{font-size:1.12rem!important}
  .ejp-products li.ejp-card .ejp-buy .button{padding:.5rem .65rem!important;font-size:.78rem!important;gap:.3rem}
  .ejp-buy .button svg{width:14px;height:14px}
}
@container ejpbuy (max-width:185px){
  .ejp-products li.ejp-card .ejp-buy .button:not(.ejp-more){width:42px;height:42px;padding:0!important;border-radius:50%!important}
  .ejp-buy .button:not(.ejp-more) span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ejp-buy .button:not(.ejp-more) svg{width:18px;height:18px}
  .ejp-buy .button.added::after{content:none}
}
@media (max-width:600px){.ejp-products li.ejp-card .ejp-title{font-size:1.02rem!important}}
/* pictures placed as <img> in Text Editor widgets (no media-library copies on import) */
.ejp-media p{margin:0!important}
.ejp-media img{display:inline-block;vertical-align:top;margin:0!important}


/* =========================== SHOP =========================== */
.ejp-badge.sale{background:var(--ejp-orange);color:#fff}
/* header band; series categories get their series tint */
.ejp-crumbs .woocommerce-breadcrumb{margin:0!important;padding:0!important;font:500 .82rem/1.4 var(--ejp-sans)!important;color:var(--ejp-ink2)!important;letter-spacing:.02em}
.ejp-crumbs .woocommerce-breadcrumb a{color:var(--ejp-ink2)!important;text-decoration:none!important}
.ejp-crumbs .woocommerce-breadcrumb a:hover{color:var(--ejp-teal-d)!important;text-decoration:underline!important;text-underline-offset:3px}
.ejp-shop-intro p,.ejp-shop-desc p{margin:0 0 .6em!important}
.ejp-shop-intro p:last-child,.ejp-shop-desc p:last-child{margin-bottom:0!important}
.ejp-shop-intro,.ejp-shop-desc{max-width:40rem}
.ejp-shop-desc .term-description,.ejp-shop-desc .page-description{margin:0!important;padding:0!important}
.ejp-shop-desc{font:400 1.0625rem/1.6 var(--ejp-sans);color:var(--ejp-ink2)}
.ejp-shop-desc.is-clamped .term-description,.ejp-shop-desc.is-clamped .page-description{max-height:4.8em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.ejp-desc-more{margin-top:.5rem;padding:4px 0;border:0;background:none;cursor:pointer;font:600 .9rem/1.2 var(--ejp-sans);color:var(--ejp-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--ejp-orange)}
.ejp-desc-more:hover{color:var(--ejp-teal-d);text-decoration-color:var(--ejp-teal)}
/* the shop page's own content is not a description; categories show their description instead of the intro */
body.woocommerce-shop .elementor-widget.ejp-shop-desc{display:none}
body.tax-product_cat .elementor-widget.ejp-shop-intro,body.tax-product_tag .elementor-widget.ejp-shop-intro,body.search .elementor-widget.ejp-shop-intro{display:none}
.ejp-head-ages .ejp-age .elementor-heading-title{margin:0}
.ejp-head-ages .ejp-age::after{content:"→";position:absolute;right:14px;bottom:14px;font:600 13px/1.3 var(--ejp-sans);color:var(--ejp-ink);transition:transform .2s ease}
.ejp-head-ages .ejp-age:hover::after{transform:translateX(3px)}
@media (max-width:1024px){.e-con.ejp-head-ages .e-con.ejp-age{--min-height:96px}}
body.term-my-first-series .e-con.ejp-shop-head,body.term-tracing-alphabet-handwriting .e-con.ejp-shop-head{background-color:#FBEBB9!important}
body.term-math-adventure-series .e-con.ejp-shop-head{background-color:#DCE8F8!important}
body.term-journals-handbooks .e-con.ejp-shop-head{background-color:#F4E0DC!important}
body.term-passport-to-adventure .e-con.ejp-shop-head,body.term-adventure-activity-book .e-con.ejp-shop-head{background-color:#DDEDE1!important}
body.term-seasonal-specials .e-con.ejp-shop-head{background-color:#ECE4F5!important}
body[class*="term-"] .ejp-head-ages .ejp-age{background-color:rgba(255,255,255,.62)!important}

/* the product column takes the rest of the row and may shrink (Elementor "grow" alone sets flex-shrink:0) */
.e-con.ejp-shop-body{flex:1 1 0%!important;min-width:0!important;max-width:100%}
@media (max-width:1024px){.e-con.ejp-shop-body{flex:0 0 auto!important;width:100%!important}.e-con.ejp-side{width:100%!important}}
/* sidebar: vertical lists on desktop, one scrolling row of chips below 1025px */
.ejp-filters p{margin:0 0 .5rem!important;font:600 .75rem/1.3 var(--ejp-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ejp-ink2)}
.ejp-filters ul{list-style:none!important;margin:0 0 1.6rem!important;padding:0!important}
.ejp-filters ul:last-child{margin-bottom:0!important}
.ejp-filters li{margin:0!important;padding:0!important;list-style:none!important}
.ejp-filters li::before,.ejp-filters li::marker{content:none!important}
.ejp-filters a{display:block;padding:.36rem 0 .36rem .8rem;border-left:2px solid var(--ejp-line);color:var(--ejp-ink)!important;text-decoration:none!important;font:500 .95rem/1.3 var(--ejp-sans);transition:color .15s ease,border-color .15s ease}
.ejp-filters a:hover{color:var(--ejp-teal-d)!important;border-left-color:var(--ejp-teal)}
.ejp-filters a[aria-current="page"]{font-weight:700;color:var(--ejp-navy)!important;border-left-color:var(--ejp-orange)}
/* sticky only when the whole list fits on screen, so short laptop screens can still reach the last links */
@media (min-width:1025px) and (min-height:860px){.e-con.ejp-side{position:sticky!important;top:104px;align-self:flex-start}}
@media (max-width:1024px){
  .elementor-widget.ejp-filters,.ejp-filters>.elementor-widget-container{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-block:4px}
  .elementor-widget.ejp-filters{margin-inline:-24px;padding-inline:24px;scroll-padding-inline:24px}
  .ejp-filters::-webkit-scrollbar,.ejp-filters>.elementor-widget-container::-webkit-scrollbar{display:none}
  .ejp-filters p{display:none}
  .ejp-filters ul{display:contents}
  .ejp-filters li{flex:none;scroll-snap-align:start}
  .ejp-filters a{padding:.62rem 1rem;border:1px solid var(--ejp-line);border-radius:999px;background:#fff;font-size:.9rem;white-space:nowrap}
  .ejp-filters a:hover{border-color:var(--ejp-teal-soft-h);background:var(--ejp-teal-soft)}
  .ejp-filters a[aria-current="page"]{background:var(--ejp-navy);border-color:var(--ejp-navy);color:#fff!important}
  .ejp-filters ul:nth-of-type(3) li:first-child{margin-left:12px}
}
@media (max-width:767px){.elementor-widget.ejp-filters{margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}}

/* result count + sort (the script puts them in one bar) */
.ejp-shop-grid .woocommerce-notices-wrapper:empty{display:none}
.ejp-shop-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 28px;padding:0 0 14px;border-bottom:1px solid var(--ejp-line)}
.ejp-shop-bar .woocommerce-result-count{float:none!important;margin:0!important;font:400 .9rem/1.3 var(--ejp-sans);color:var(--ejp-ink2)}
.ejp-shop-bar .woocommerce-ordering{float:none!important;margin:0!important;flex:none}
.ejp-shop-grid select.orderby{-webkit-appearance:none;appearance:none;height:44px;max-width:100%;padding:0 40px 0 14px!important;border:1px solid var(--ejp-line)!important;border-radius:4px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231B2A41' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px!important;font:600 .9rem/1 var(--ejp-sans)!important;color:var(--ejp-ink)!important;cursor:pointer;box-shadow:none!important}
.ejp-shop-grid select.orderby:hover{border-color:var(--ejp-teal-soft-h)!important}
.ejp-shop-grid select.orderby:focus-visible{outline:2px solid var(--ejp-teal-d);outline-offset:2px}
@media (max-width:767px){.ejp-shop-bar{margin-bottom:20px}.ejp-shop-bar .woocommerce-result-count{font-size:.8rem}.ejp-shop-grid select.orderby{height:40px;font-size:.85rem!important;padding-right:34px!important;max-width:190px}}

/* product grid: 3 columns, 2 on phones (24 books a page fill every row) */
.ejp-shop-grid ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:44px 28px!important;margin:0!important}
@media (max-width:1024px){.ejp-shop-grid ul.products{gap:36px 20px!important}}
@media (max-width:767px){.ejp-shop-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 14px!important}}

/* pagination */
.ejp-shop-grid nav.woocommerce-pagination{margin:56px 0 0!important;text-align:center}
.ejp-shop-grid nav.woocommerce-pagination ul.page-numbers{display:inline-flex!important;flex-wrap:wrap;justify-content:center;gap:8px;margin:0!important;padding:0!important;border:0!important;white-space:normal}
.ejp-shop-grid nav.woocommerce-pagination ul.page-numbers li{float:none!important;display:block;margin:0!important;border:0!important;overflow:visible}
.ejp-shop-grid nav.woocommerce-pagination ul.page-numbers li .page-numbers{display:grid!important;place-items:center;min-width:44px;height:44px;padding:0 12px!important;border:1px solid var(--ejp-line);border-radius:4px;background:#fff;color:var(--ejp-ink)!important;font:600 .95rem/1 var(--ejp-sans);text-decoration:none!important;transition:background-color .15s ease,border-color .15s ease}
.ejp-shop-grid nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover{background:var(--ejp-teal-soft);border-color:var(--ejp-teal-soft-h);color:var(--ejp-teal-d)!important}
.ejp-shop-grid nav.woocommerce-pagination ul.page-numbers li span.current{background:var(--ejp-navy);border-color:var(--ejp-navy);color:#fff!important}
.ejp-shop-grid nav.woocommerce-pagination ul.page-numbers li span.dots{border-color:transparent;background:none}

/* nothing found (search, empty category) */
.ejp-shop-grid .elementor-products-nothing-found,.ejp-shop-grid .woocommerce-info{margin:0!important;padding:48px 24px!important;border:0!important;border-radius:4px;background:var(--ejp-tile)!important;color:var(--ejp-ink)!important;text-align:center;font:400 1.35rem/1.4 var(--ejp-serif)!important}
.ejp-shop-grid .woocommerce-info::before{display:none!important}
.ejp-empty-link{display:inline-block;margin-top:14px;font:600 .95rem/1.2 var(--ejp-sans);color:var(--ejp-ink)!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px;text-decoration-color:var(--ejp-orange)!important}/* End custom CSS */