.bpl-list,.bpl-school-finder{font-family:Arial,Helvetica,sans-serif;color:#1f2933}.bpl-list{border:1px solid #dce3e8;border-radius:16px;background:#fff;overflow:hidden;max-width:1200px;margin:20px auto}.bpl-list__header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:28px 30px;background:#f8fafb;border-bottom:1px solid #e4e9ed}.bpl-list__header h2{font-size:30px;line-height:1.2;margin:6px 0 8px}.bpl-list__header p{margin:0;color:#66737f}.bpl-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#2f6ca3}.bpl-summary{text-align:right}.bpl-summary span,.bpl-list__footer span{display:block;color:#7b8792;font-size:13px}.bpl-summary strong,.bpl-list__footer strong{font-size:24px}.bpl-row{display:grid;grid-template-columns:80px minmax(0,1fr) 130px 150px 130px;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid #edf0f2}.bpl-row--head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;background:#fbfcfd;color:#68737d}.bpl-product{display:flex;align-items:center;gap:14px}.bpl-product img{width:58px;height:58px;object-fit:contain;border:1px solid #edf0f2;border-radius:8px}.bpl-product strong,.bpl-product small,.bpl-product em{display:block}.bpl-product small{margin-top:4px;color:#50715b;font-size:12px;font-style:normal}.bpl-product em{margin-top:4px;color:#76818b;font-size:12px;font-style:normal}.bpl-qty{display:inline-flex;border:1px solid #d8e0e6;border-radius:8px;overflow:hidden}.bpl-qty button,.bpl-qty input{width:42px;height:38px;border:0!important;background:#fff;text-align:center;margin:0!important}.bpl-qty button{cursor:pointer;background:#f5f7f9;font-size:18px}.bpl-qty input{-moz-appearance:textfield}.bpl-qty input::-webkit-outer-spin-button,.bpl-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bpl-list__footer{display:flex;justify-content:flex-end;align-items:center;gap:30px;padding:22px 26px;background:#f8fafb}.bpl-add-button{background:#2f6ca3!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:13px 20px!important}.bpl-school-finder{max-width:1000px;margin:20px auto;border:1px solid #dce3e8;border-radius:16px;background:#fff;padding:26px}.bpl-finder-head h2{margin:0 0 6px;font-size:28px}.bpl-finder-head p{margin:0 0 20px;color:#68737d}.bpl-finder-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bpl-finder-grid label{font-weight:700;font-size:13px}.bpl-finder-grid select{width:100%;margin-top:7px;height:48px;border:1px solid #d6dee4;border-radius:8px;background:#fff;padding:0 12px}.bpl-message{padding:15px;border:1px solid #ddd;border-radius:8px}@media(max-width:760px){.bpl-list__header{display:block}.bpl-summary{text-align:left;margin-top:16px}.bpl-row--head{display:none}.bpl-row{grid-template-columns:46px 1fr;gap:10px}.bpl-row>span:nth-child(3),.bpl-row>span:nth-child(4),.bpl-row>span:nth-child(5){grid-column:2}.bpl-list__footer{justify-content:space-between;position:sticky;bottom:0}.bpl-finder-grid{grid-template-columns:1fr}}

/* Beta 3: product-list directory */
.bpl-directory{font-family:Arial,Helvetica,sans-serif;color:#1f2933;max-width:1200px;margin:24px auto}.bpl-directory__header{margin-bottom:22px}.bpl-directory__header h2{font-size:34px;line-height:1.15;margin:7px 0 8px}.bpl-directory__header p{max-width:720px;color:#68737d;font-size:16px;line-height:1.55;margin:0}.bpl-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bpl-directory-card{display:flex;flex-direction:column;justify-content:space-between;min-height:180px;border:1px solid #dce3e8;border-radius:14px;background:#fff;padding:22px;box-sizing:border-box}.bpl-directory-card h3{font-size:21px;line-height:1.25;margin:7px 0 8px}.bpl-directory-card p{color:#6d7882;line-height:1.5;margin:0}.bpl-directory-card__meta{color:#2f6ca3;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.bpl-directory-card__button{display:inline-flex;align-self:flex-start;margin-top:20px;background:#2f6ca3;color:#fff!important;text-decoration:none!important;border-radius:8px;padding:10px 14px;font-weight:700}.bpl-directory-card__button:hover{background:#255785;color:#fff!important}.bpl-directory-back{max-width:1200px;margin:20px auto 0;font-family:Arial,Helvetica,sans-serif}.bpl-directory-back a{color:#2f6ca3;text-decoration:none;font-weight:700}@media(max-width:900px){.bpl-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.bpl-directory__grid{grid-template-columns:1fr}.bpl-directory__header h2{font-size:28px}}

/* Beta 4: generic storefront shell and commerce cleanup */
.bpl-shell{font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;width:min(1400px,calc(100% - 40px));margin:18px auto 24px;min-height:72px;padding:10px 16px;display:grid;grid-template-columns:auto minmax(260px,560px) auto;align-items:center;gap:22px;border:1px solid #dce3e8;border-radius:15px;background:#fff;box-shadow:0 8px 28px rgba(31,41,51,.05);position:relative;z-index:20}.bpl-shell *{box-sizing:border-box}.bpl-shell a{text-decoration:none!important}.bpl-shell__brand{display:flex;align-items:center;min-width:120px;color:#1f2933!important;font-weight:800;font-size:18px}.bpl-shell__logo-img{display:block;max-width:145px!important;max-height:50px!important;width:auto!important;height:auto!important;object-fit:contain}.bpl-shell__search{height:46px;display:flex;align-items:center;gap:9px;border:1px solid #d4dde4;border-radius:10px;background:#f8fafb;padding:0 13px}.bpl-shell__search:focus-within{background:#fff;border-color:#2f6ca3;box-shadow:0 0 0 3px rgba(47,108,163,.10)}.bpl-shell__search>span{font-size:21px;color:#6f7d88;line-height:1}.bpl-shell__search input[type=search]{width:100%;height:42px!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#243140!important;font:inherit!important}.bpl-shell__nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.bpl-shell__nav>a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 11px;border-radius:9px;color:#43515d!important;font-weight:700;font-size:14px}.bpl-shell__nav>a:hover{background:#f2f6f9;color:#2f6ca3!important}.bpl-shell__basket span{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:#2f6ca3;color:#fff;font-size:12px}

body.bpl-commerce-page #main-content .container:before{display:none!important}body.bpl-commerce-page #sidebar,body.bpl-commerce-page #secondary,body.bpl-commerce-page .site-content>.widget-area,body.bpl-commerce-page .content-area+.widget-area{display:none!important}body.bpl-commerce-page #left-area,body.bpl-commerce-page #primary,body.bpl-commerce-page .content-area{width:100%!important;max-width:none!important;float:none!important;padding-right:0!important}body.bpl-commerce-page #main-content .container,body.bpl-commerce-page .site-content,body.bpl-commerce-page .woocommerce-page .site-main{width:min(1400px,calc(100% - 40px))!important;max-width:1400px!important;margin-left:auto!important;margin-right:auto!important}body.bpl-commerce-page .woocommerce{max-width:1400px;margin-left:auto;margin-right:auto}

.bpl-directory,.bpl-directory-back,.bpl-list,.bpl-school-finder{max-width:1400px}.bpl-directory{padding:0 2px}.bpl-directory-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 20px;padding:10px 13px;border:1px solid #dce3e8;border-radius:11px;background:#f8fafb}.bpl-directory-search>span{font-size:22px;color:#6f7d88}.bpl-directory-search input{height:42px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;font-size:16px!important;color:#243140!important}.bpl-directory-search strong{font-size:13px;color:#697680;white-space:nowrap}.bpl-directory-empty{padding:24px;border:1px dashed #cfd8df;border-radius:12px;text-align:center;color:#68737d;background:#fafcfd}

/* Calm defaults for the standard WooCommerce pages without replacing Woo templates. */
body.bpl-commerce-page .woocommerce form .form-row input.input-text,body.bpl-commerce-page .woocommerce form .form-row textarea,body.bpl-commerce-page .woocommerce select{border:1px solid #d7dfe5!important;border-radius:8px!important;background:#fff!important;color:#243140!important}body.bpl-commerce-page .woocommerce a.button,body.bpl-commerce-page .woocommerce button.button,body.bpl-commerce-page .woocommerce input.button,body.bpl-commerce-page .wc-block-components-button{border-radius:9px!important}body.bpl-commerce-page table.shop_table{border-color:#dfe5ea!important;border-radius:10px!important;overflow:hidden}body.bpl-commerce-page .woocommerce-message,body.bpl-commerce-page .woocommerce-info,body.bpl-commerce-page .woocommerce-error{border-radius:8px;background:#f8fafb}

@media(max-width:1050px){.bpl-shell{grid-template-columns:auto 1fr}.bpl-shell__search{grid-column:1/-1;grid-row:2}.bpl-shell__nav{justify-self:end}.bpl-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.bpl-shell{width:calc(100% - 24px);margin:10px auto 16px;padding:9px 10px;grid-template-columns:1fr auto;gap:9px}.bpl-shell__brand{min-width:0}.bpl-shell__logo-img{max-width:110px!important;max-height:42px!important}.bpl-shell__nav{gap:2px}.bpl-shell__nav>a{font-size:0;padding:0 7px}.bpl-shell__nav>a::first-letter{font-size:0}.bpl-shell__nav>a:nth-child(1),.bpl-shell__nav>a:nth-child(2){display:none}.bpl-shell__nav>a:nth-child(3){font-size:13px}.bpl-shell__basket{font-size:13px!important}.bpl-shell__search{grid-column:1/-1}.bpl-directory-search{grid-template-columns:auto 1fr}.bpl-directory-search strong{grid-column:2}.bpl-directory__grid{grid-template-columns:1fr}body.bpl-commerce-page #main-content .container,body.bpl-commerce-page .site-content,body.bpl-commerce-page .woocommerce-page .site-main{width:calc(100% - 24px)!important}}


/* =========================================================
   Beta 5 - consolidated polished storefront UI
========================================================= */

.bpl-shell-wrap{width:100%;}
.bpl-shell{
  --bpl-shell-primary:#2F6CA3;
  width:min(1400px,calc(100% - 48px));max-width:1400px;margin:4px auto 18px;min-height:66px;
  display:grid;grid-template-columns:minmax(130px,220px) minmax(360px,680px) 1fr;align-items:center;gap:22px;
  padding:8px 14px 8px 18px;border:1px solid #dbe3e9;border-radius:14px;background:#fff;
  box-shadow:0 5px 16px rgba(31,41,51,.045);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;box-sizing:border-box;
}
.bpl-shell *{box-sizing:border-box}.bpl-shell a{text-decoration:none!important}.bpl-shell__brand{display:flex;align-items:center;color:#243140!important;font-size:20px;font-weight:700;min-width:0}.bpl-shell__logo-img{display:block;max-width:145px!important;max-height:46px!important;width:auto!important;height:auto!important;object-fit:contain}.bpl-shell__search{height:46px;display:flex;align-items:center;gap:9px;border:1px solid #d4dde4;border-radius:10px;background:#f8fafb;padding:0 13px}.bpl-shell__search:focus-within{background:#fff;border-color:#2F6CA3;box-shadow:0 0 0 3px rgba(47,108,163,.10)}.bpl-shell__search>span{font-size:21px;color:#6f7d88}.bpl-shell__search input[type=search]{width:100%;height:42px!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#243140!important;font:inherit!important}.bpl-shell__nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}.bpl-shell__nav>a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:9px;color:#50616d!important;font-weight:600;font-size:14px}.bpl-shell__nav>a:hover{background:#f2f6f8;color:#233746!important}.bpl-shell__nav>a.is-active{background:#edf4f9;color:#2F6CA3!important}.bpl-shell__basket span{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#2F6CA3;color:#fff;font-size:12px;font-weight:700}

/* Remove duplicate WordPress/Woo page titles; the shell/content already gives context. */
body.bpl-school-list-page .entry-title,body.bpl-school-list-page .page-title,body.bpl-school-list-page .et_post_meta_wrapper>h1,
body.bpl-shop-list-page .woocommerce-products-header__title,body.bpl-shop-list-page .page-title,body.bpl-shop-list-page .entry-title,
body.woocommerce-cart.bpl-commerce-page .entry-title,body.woocommerce-cart.bpl-commerce-page .page-title,
body.woocommerce-checkout.bpl-commerce-page .entry-title,body.woocommerce-checkout.bpl-commerce-page .page-title,
body.woocommerce-account.bpl-commerce-page .entry-title,body.woocommerce-account.bpl-commerce-page .page-title{display:none!important}

body.bpl-commerce-page #main-content>.container,body.bpl-commerce-page #main-content .container,body.bpl-commerce-page .site-main,body.bpl-commerce-page main.site-main{width:min(1400px,calc(100% - 48px))!important;max-width:1400px!important;margin-left:auto!important;margin-right:auto!important}
body.bpl-commerce-page #left-area{width:100%!important;max-width:none!important;padding-right:0!important}

/* Keep standard Woo system pages spacious and clean. */
body.woocommerce-cart.bpl-commerce-page .woocommerce,body.woocommerce-checkout.bpl-commerce-page .woocommerce,body.woocommerce-account.bpl-commerce-page .woocommerce{max-width:1500px;margin-left:auto;margin-right:auto}
/* =========================================================
   Beta 6 - compact stationery catalogue + instant filters
========================================================= */
body.bpl-shop-list-page .woocommerce-result-count,
body.bpl-shop-list-page .woocommerce-ordering{
    display:none!important;
}
.bpl-catalog-tools{
    margin:0 0 14px;
    padding:14px;
    background:#fff;
    border:1px solid #d6dde3;
    border-radius:14px;
}
.bpl-catalog-tools__top{
    display:grid;
    grid-template-columns:minmax(280px,1fr) 190px auto;
    gap:10px;
    align-items:center;
}
.bpl-catalog-search{
    position:relative;
    display:flex;
    align-items:center;
}
.bpl-catalog-search__icon{
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    color:#71808c;
    font-size:24px;
    line-height:1;
    pointer-events:none;
}
.bpl-catalog-search input{
    width:100%!important;
    height:46px!important;
    margin:0!important;
    padding:0 42px 0 42px!important;
    border:1px solid #cfd7de!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#243140!important;
    font-size:15px!important;
    box-shadow:none!important;
}
.bpl-catalog-search input:focus{
    border-color:var(--bpl-shell-primary,#2F6CA3)!important;
    box-shadow:0 0 0 3px rgba(47,108,163,.10)!important;
    outline:none!important;
}
.bpl-catalog-search__clear{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#7b8791;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.bpl-catalog-search__clear:hover{background:#f2f4f6;color:#243140}
.bpl-catalog-sort{
    display:flex;
    align-items:center;
    gap:8px;
    color:#5f6b76;
    font-size:13px;
    font-weight:700;
}
.bpl-catalog-sort select{
    flex:1;
    height:46px;
    padding:0 32px 0 10px;
    border:1px solid #cfd7de;
    border-radius:10px;
    background:#fff;
    color:#243140;
    font-size:14px;
}
.bpl-catalog-stock{
    min-height:46px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
    border:1px solid #d8dee4;
    border-radius:10px;
    color:#455563;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
}
.bpl-catalog-stock input{width:17px;height:17px;margin:0}
.bpl-catalog-categories{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:12px 0 2px;
    scrollbar-width:thin;
}
.bpl-catalog-categories button{
    flex:0 0 auto;
    min-height:34px;
    padding:0 12px;
    border:1px solid #d8dee4;
    border-radius:999px;
    background:#fff;
    color:#56636f;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.bpl-catalog-categories button:hover{border-color:#aeb9c2;color:#243140}
.bpl-catalog-categories button.is-active{
    border-color:var(--bpl-shell-primary,#2F6CA3);
    background:var(--bpl-shell-primary,#2F6CA3);
    color:#fff;
}
.bpl-catalog-status{
    display:flex;
    align-items:baseline;
    gap:5px;
    margin-top:10px;
    color:#687580;
    font-size:13px;
}
.bpl-catalog-status strong{color:#243140;font-size:14px}
.bpl-catalog-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 120px 265px;
    gap:16px;
    margin:12px -14px -14px;
    padding:10px 16px 10px 112px;
    border-top:1px solid #e6eaee;
    background:#f7f9fa;
    color:#677581;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    border-radius:0 0 14px 14px;
}

body.bpl-shop-list-page .woocommerce ul.products,
body.bpl-shop-list-page ul.products{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
}
body.bpl-shop-list-page .woocommerce ul.products li.product,
body.bpl-shop-list-page ul.products li.product{
    display:grid!important;
    width:100%!important;
    max-width:none!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    box-sizing:border-box!important;
    grid-template-columns:78px minmax(0,1fr) 120px minmax(250px,265px);
    grid-template-rows:auto auto;
    column-gap:14px;
    min-height:96px;
    padding:8px 12px!important;
    border-radius:10px;
}
body.bpl-shop-list-page ul.products li.product a img,
body.bpl-shop-list-page ul.products li.product .woocommerce-placeholder{
    width:72px!important;
    height:72px!important;
    grid-column:1;
    grid-row:1 / span 2;
    border-radius:8px;
}
body.bpl-shop-list-page ul.products li.product .woocommerce-loop-product__title{
    grid-column:2;
    grid-row:1;
    align-self:end;
    margin:0 0 3px!important;
    font-size:15px!important;
    line-height:1.25!important;
}
body.bpl-shop-list-page .bpl-shop-meta{
    grid-column:2;
    grid-row:2;
    align-self:start;
    margin:0!important;
    font-size:11px;
    line-height:1.35;
}
body.bpl-shop-list-page ul.products li.product .star-rating{display:none!important}
body.bpl-shop-list-page ul.products li.product .price{
    grid-column:3;
    grid-row:1 / span 2;
    align-self:center;
    justify-self:start;
    font-size:15px!important;
}
body.bpl-shop-list-page ul.products li.product > .button,
body.bpl-shop-list-page ul.products li.product > a.button,
body.bpl-shop-list-page .bpl-shop-cart{
    grid-column:4;
    grid-row:1 / span 2;
}
body.bpl-shop-list-page .bpl-shop-cart{gap:7px}
body.bpl-shop-list-page .bpl-shop-qty{
    display:inline-flex;
    align-items:center;
    height:40px;
    border:1px solid #cfd7de;
    border-radius:9px;
    overflow:hidden;
    background:#fff;
}
body.bpl-shop-list-page .bpl-shop-qty__button{
    width:32px;
    height:38px;
    padding:0;
    border:0!important;
    background:#f7f9fa!important;
    color:#40515f!important;
    font-size:17px!important;
    font-weight:700!important;
    cursor:pointer;
}
body.bpl-shop-list-page .bpl-shop-qty__button:hover{background:#edf2f5!important}
body.bpl-shop-list-page .bpl-shop-cart input.qty{
    width:40px!important;
    height:38px!important;
    border:0!important;
    border-left:1px solid #e2e7eb!important;
    border-right:1px solid #e2e7eb!important;
    border-radius:0!important;
    -moz-appearance:textfield;
}
body.bpl-shop-list-page .bpl-shop-cart input.qty::-webkit-outer-spin-button,
body.bpl-shop-list-page .bpl-shop-cart input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.bpl-shop-list-page ul.products li.product .button,
body.bpl-shop-list-page .bpl-shop-add{
    min-height:40px!important;
    padding:0 13px!important;
    font-size:12px!important;
    border-radius:9px!important;
}
body.bpl-shop-list-page li.product.bpl-catalog-hidden{display:none!important}
.bpl-catalog-empty{
    display:none;
    margin:18px 0;
    padding:24px;
    text-align:center;
    border:1px dashed #cfd7de;
    border-radius:12px;
    color:#5f6b76;
    background:#fafbfc;
}
.bpl-catalog-empty.is-visible{display:block}

@media(max-width:900px){
    .bpl-catalog-tools__top{grid-template-columns:1fr 170px}
    .bpl-catalog-stock{grid-column:1 / -1;justify-self:start}
    .bpl-catalog-head{display:none}
    body.bpl-shop-list-page .woocommerce ul.products li.product,
    body.bpl-shop-list-page ul.products li.product{
        grid-template-columns:72px minmax(0,1fr) 110px;
        grid-template-rows:auto auto auto;
    }
    body.bpl-shop-list-page ul.products li.product .price{grid-column:3;grid-row:1 / span 2}
    body.bpl-shop-list-page .bpl-shop-cart,
    body.bpl-shop-list-page ul.products li.product > .button,
    body.bpl-shop-list-page ul.products li.product > a.button{
        grid-column:2 / -1;
        grid-row:3;
        justify-self:end;
        margin-top:5px!important;
    }
}
@media(max-width:620px){
    .bpl-catalog-tools{padding:10px}
    .bpl-catalog-tools__top{grid-template-columns:1fr}
    .bpl-catalog-sort{display:grid;grid-template-columns:auto 1fr}
    .bpl-catalog-stock{grid-column:auto}
    body.bpl-shop-list-page .woocommerce ul.products li.product,
    body.bpl-shop-list-page ul.products li.product{
        grid-template-columns:60px minmax(0,1fr);
        grid-template-rows:auto auto auto auto;
        min-height:0;
        padding:9px!important;
    }
    body.bpl-shop-list-page ul.products li.product a img,
    body.bpl-shop-list-page ul.products li.product .woocommerce-placeholder{
        width:56px!important;height:56px!important;grid-row:1 / span 2;
    }
    body.bpl-shop-list-page ul.products li.product .price{grid-column:2;grid-row:3;margin-top:4px!important}
    body.bpl-shop-list-page .bpl-shop-cart,
    body.bpl-shop-list-page ul.products li.product > .button,
    body.bpl-shop-list-page ul.products li.product > a.button{
        grid-column:1 / -1;
        grid-row:4;
        width:100%;
        justify-self:stretch;
    }
    body.bpl-shop-list-page .bpl-shop-cart{justify-content:flex-end}
    body.bpl-shop-list-page .bpl-shop-add{flex:1}
}

/* Beta 6.1 - server-backed catalogue search states */
body.bpl-shop-list-page .woocommerce-pagination{display:none!important}
.bpl-catalog-tools.is-loading{opacity:.82}
body.bpl-shop-list-page ul.products.is-loading{opacity:.55;pointer-events:none}


/* Minor class-name alignment for the generic plugin. */
body.bpl-shop-list-page .bpl-shop-qty{display:inline-flex;align-items:center;height:40px;border:1px solid #cfd7de;border-radius:9px;overflow:hidden;background:#fff}
body.bpl-shop-list-page .bpl-shop-qty button{width:32px;height:38px;padding:0;border:0!important;background:#f7f9fa!important;color:#40515f!important;font-size:17px!important;font-weight:700!important;cursor:pointer}
body.bpl-shop-list-page .bpl-shop-qty input.qty{width:40px!important;height:38px!important;border:0!important;border-left:1px solid #e2e7eb!important;border-right:1px solid #e2e7eb!important;border-radius:0!important;text-align:center;-moz-appearance:textfield}
body.bpl-shop-list-page .bpl-shop-qty input.qty::-webkit-outer-spin-button,body.bpl-shop-list-page .bpl-shop-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:900px){.bpl-shell{grid-template-columns:auto 1fr}.bpl-shell__search{grid-column:1/-1;grid-row:2}.bpl-shell__nav{justify-self:end}}
@media(max-width:720px){.bpl-shell{width:calc(100% - 24px);margin:3px auto 12px;grid-template-columns:1fr auto;gap:8px;padding:8px 10px}.bpl-shell__logo-img{max-width:110px!important;max-height:42px!important}.bpl-shell__search{grid-column:1/-1}.bpl-shell__nav>a{padding:0 7px;font-size:13px}.bpl-shell__nav>a:nth-last-child(n+3){display:none}body.bpl-commerce-page #main-content>.container,body.bpl-commerce-page #main-content .container,body.bpl-commerce-page .site-main,body.bpl-commerce-page main.site-main{width:calc(100% - 24px)!important}}

/* =========================================================
   Beta 6 - shared storefront alignment + white-label school hero
========================================================= */
:root{--bpl-shell-width:1400px;--bpl-shell-gutter:24px}
.bpl-shell,
.bpl-school-finder,
.bpl-directory,
.bpl-directory-back,
.bpl-list{
  width:min(var(--bpl-shell-width),calc(100% - (var(--bpl-shell-gutter) * 2)))!important;
  max-width:var(--bpl-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.bpl-commerce-page #main-content>.container,
body.bpl-commerce-page #main-content .container,
body.bpl-commerce-page .site-main,
body.bpl-commerce-page main.site-main{
  width:min(var(--bpl-shell-width),calc(100% - (var(--bpl-shell-gutter) * 2)))!important;
  max-width:var(--bpl-shell-width)!important;
}
.bpl-shell__brand{gap:10px;min-width:0}.bpl-shell__brand small{display:block;max-width:190px;color:#7a8791;font-size:11px;font-weight:500;line-height:1.25;white-space:normal}.bpl-shell__logo-img{flex:none}

.bpl-school-finder.bpl-school-hero{
  margin-top:12px!important;
  margin-bottom:28px!important;
  padding:34px 40px!important;
  border:1px solid #dbe3e9!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
  box-shadow:0 9px 28px rgba(31,41,51,.055)!important;
  color:#1f2933!important;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
}
.bpl-school-hero__content{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:36px;max-width:100%}
.bpl-school-hero__main{min-width:0}.bpl-school-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #ead395;background:#fff9e8;color:#604f24;border-radius:999px;font-size:12px;font-weight:700}.bpl-school-badge>span{width:9px;height:9px;border-radius:50%;background:#e2b84b}
.bpl-school-hero h1{margin:16px 0 7px!important;max-width:760px;color:#1f2933!important;font-size:clamp(36px,4vw,52px)!important;font-weight:750!important;line-height:1.02!important;letter-spacing:-.035em!important}.bpl-school-hero__main>p{margin:0 0 18px;max-width:680px;color:#52606d;font-size:17px;line-height:1.5}
.bpl-school-hero .bpl-finder-card{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(210px,.62fr);gap:12px;margin:0;padding:12px;border:1px solid #d5dfe6;border-radius:15px;background:#f5f8fa}
.bpl-school-hero label>span{display:block;margin:0 0 7px 2px;color:#334e5f;font-size:12px;font-weight:700}.bpl-school-search-control{position:relative}.bpl-school-search-control>i{position:absolute;z-index:2;left:18px;top:20px;width:18px;height:18px;border:2px solid #71828e;border-radius:50%;box-sizing:border-box}.bpl-school-search-control>i:after{content:"";position:absolute;width:7px;height:2px;right:-5px;bottom:-2px;background:#71828e;transform:rotate(45deg);border-radius:2px}
.bpl-school-search-control input[type=search],.bpl-school-hero .bpl-grade-wrap select{width:100%;height:62px!important;margin:0!important;border:2px solid #bdcbd5!important;border-radius:12px!important;background:#fff!important;color:#1f2933!important;box-shadow:none!important;outline:none!important;font-size:17px!important;box-sizing:border-box!important}.bpl-school-search-control input[type=search]{padding:0 18px 0 50px!important}.bpl-school-search-control input[type=search]::placeholder{color:#7d8992;opacity:1}.bpl-school-hero .bpl-grade-wrap select{padding:0 12px!important}.bpl-school-search-control input:focus,.bpl-school-hero .bpl-grade-wrap select:focus{border-color:#2f6ca3!important;box-shadow:0 0 0 4px rgba(47,108,163,.10)!important}.bpl-school-hero .bpl-grade-wrap select:disabled{opacity:.58;cursor:not-allowed}
.bpl-school-results{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 7px);max-height:365px;overflow:auto;padding:6px;border:1px solid #cfdbe3;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(31,41,51,.14)}.bpl-school-result{display:block;width:100%;min-height:52px;padding:10px 12px;border:0;border-radius:9px;background:#fff;color:#243746;text-align:left;font-size:14px;font-weight:700;cursor:pointer}.bpl-school-result:hover,.bpl-school-result:focus{background:#eef5fa;outline:0;color:#2f6ca3}
.bpl-school-progress{display:flex;align-items:center;max-width:510px;margin:17px 0 0;gap:9px}.bpl-school-progress>div{display:flex;align-items:center;gap:8px;color:#677782;font-size:12px}.bpl-school-progress>div>span{display:grid;place-items:center;width:25px;height:25px;border:2px solid #b6c2cb;border-radius:50%;background:#fff;color:#536774;font-weight:700}.bpl-school-progress>div.is-active>span{background:#2f6ca3;border-color:#2f6ca3;color:#fff}.bpl-school-progress>div.is-active strong{color:#244c69}.bpl-school-progress>i{height:2px;flex:1;background:#d5dde3;border-radius:2px}.bpl-school-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;color:#566774;font-size:12px;font-weight:600}.bpl-school-trust span::first-letter{color:#3f9658}
.bpl-school-art{position:relative;width:250px;height:210px;justify-self:end;border-radius:20px;background:#f4f8fa;border:1px solid #e0e8ed;overflow:hidden}.bpl-school-art:before{content:"";position:absolute;inset:auto 18px 19px 18px;height:10px;border-radius:50%;background:rgba(35,55,68,.08);filter:blur(6px)}.bpl-art-paper{position:absolute;right:31px;top:27px;width:126px;height:144px;background:#fff;border:1px solid #d9e0e5;border-radius:8px;transform:rotate(4deg);box-shadow:0 8px 18px rgba(31,41,51,.07)}.bpl-art-paper span{display:block;height:2px;margin:29px 18px 0;background:#d8e4ea;border-radius:2px}.bpl-art-paper span+span{margin-top:17px}.bpl-art-book{position:absolute;left:26px;width:118px;height:29px;border-radius:5px 9px 9px 5px;box-shadow:0 5px 10px rgba(31,41,51,.08)}.bpl-art-book-one{bottom:37px;background:#5b8db3;transform:rotate(-3deg)}.bpl-art-book-two{bottom:67px;left:36px;background:#e0b64d;transform:rotate(2deg)}.bpl-art-book:after{content:"";position:absolute;right:7px;top:4px;bottom:4px;width:6px;background:rgba(255,255,255,.55);border-radius:3px}.bpl-art-pencil{position:absolute;width:13px;height:126px;border-radius:5px 5px 2px 2px;transform-origin:bottom center;box-shadow:0 5px 9px rgba(31,41,51,.08)}.bpl-art-pencil:before{content:"";position:absolute;top:-17px;left:0;border-left:6.5px solid transparent;border-right:6.5px solid transparent;border-bottom:18px solid #e9d7b5}.bpl-art-pencil:after{content:"";position:absolute;top:-17px;left:4px;border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-bottom:7px solid #384651}.bpl-art-pencil-one{left:54px;top:24px;background:#d65e5e;transform:rotate(-15deg)}.bpl-art-pencil-two{left:83px;top:15px;background:#4f8f66;transform:rotate(-6deg)}.bpl-art-ruler{position:absolute;right:16px;bottom:23px;width:132px;height:20px;border:1px solid #d9b43f;background:#f5cf57;border-radius:4px;transform:rotate(-11deg);opacity:.92}.bpl-art-ruler:after{content:"||||||||||||";position:absolute;left:10px;top:0;color:#806d2e;font-size:8px;letter-spacing:4px;line-height:15px;overflow:hidden;width:110px;height:10px}
.bpl-school-hero>[data-bpl-school-result]:not(:empty){margin-top:24px}

@media(max-width:960px){.bpl-school-hero__content{grid-template-columns:1fr}.bpl-school-art{display:none}.bpl-shell__brand small{display:none}}
@media(max-width:700px){:root{--bpl-shell-gutter:12px}.bpl-school-finder.bpl-school-hero{padding:23px 16px!important;border-radius:14px!important}.bpl-school-badge{font-size:11px}.bpl-school-hero h1{font-size:34px!important;margin-top:13px!important}.bpl-school-hero__main>p{font-size:15px;margin-bottom:15px}.bpl-school-hero .bpl-finder-card{grid-template-columns:1fr;padding:10px}.bpl-school-search-control input[type=search],.bpl-school-hero .bpl-grade-wrap select{height:56px!important;font-size:16px!important}.bpl-school-search-control>i{top:17px}.bpl-school-progress{margin-top:15px}.bpl-school-trust{gap:9px 14px;font-size:11px}}

/* Beta 6.1: normalise Woo/theme archive product wrappers for compact catalogue rows. */
body.bpl-shop-list-page ul.products li.product > a.woocommerce-LoopProduct-link{
    display:contents!important;
}
body.bpl-shop-list-page ul.products li.product::before,
body.bpl-shop-list-page ul.products li.product::after{
    display:none!important;
}

/* =========================================================
   Beta 6.2 - commerce page width + account/cart reliability
========================================================= */
body.bpl-commerce-page #main-content,
body.bpl-commerce-page #main-content > .container,
body.bpl-commerce-page #main-content .container,
body.bpl-commerce-page #left-area,
body.bpl-commerce-page .site-content,
body.bpl-commerce-page .content-area,
body.bpl-commerce-page main.site-main {
    width: min(var(--bpl-shell-width,1400px), calc(100% - (var(--bpl-shell-gutter,24px) * 2))) !important;
    max-width: var(--bpl-shell-width,1400px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}
body.bpl-commerce-page #main-content > .container:before,
body.bpl-commerce-page #main-content .container:before { display:none !important; }
body.bpl-commerce-page #sidebar { display:none !important; }

/* Keep Shop actions compact instead of stretching to fill the action column. */
body.bpl-shop-list-page ul.products li.product > .button,
body.bpl-shop-list-page ul.products li.product > a.button,
body.bpl-shop-list-page .bpl-shop-cart {
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    max-width: 260px !important;
}
body.bpl-shop-list-page ul.products li.product > .button,
body.bpl-shop-list-page ul.products li.product > a.button {
    min-width: 122px !important;
    white-space: nowrap !important;
}

/* My Account - convert raw Woo columns into the same calm storefront UI. */
body.woocommerce-account.bpl-commerce-page .woocommerce {
    display: grid !important;
    grid-template-columns: 230px minmax(0,1fr) !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 8px 0 40px !important;
    align-items: start !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation,
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation {
    padding: 10px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation a {
    display: block !important;
    padding: 11px 12px !important;
    border-radius: 9px !important;
    color: #43515d !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation a:hover {
    color: #2f6ca3 !important;
    background: #eef5fa !important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content {
    min-height: 280px !important;
    padding: 26px 28px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #52606d !important;
}

/* Classic Woo Basket/Checkout should occupy the storefront canvas cleanly. */
body.woocommerce-cart.bpl-commerce-page .woocommerce,
body.woocommerce-checkout.bpl-commerce-page .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 8px 0 40px !important;
}
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form,
body.woocommerce-cart.bpl-commerce-page .cart-collaterals,
body.woocommerce-checkout.bpl-commerce-page form.checkout {
    box-sizing: border-box !important;
}

@media(max-width:800px){
    body.woocommerce-account.bpl-commerce-page .woocommerce{grid-template-columns:1fr!important;gap:16px!important}
    body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation ul{display:flex!important;gap:6px!important;overflow:auto!important;padding-bottom:2px!important}
    body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation li{flex:0 0 auto!important}
    body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content{padding:20px 18px!important}
}

/* =========================================================
   Beta 6.3 - school finder, account, mobile and list polish
========================================================= */
.bpl-school-results[hidden]{display:none!important}

/* Product Lists: denser ordering-sheet rows + obvious remove/add-back action. */
.bpl-row{
    grid-template-columns:58px minmax(0,1fr) 120px 132px 120px;
    gap:12px;
    padding:10px 18px;
    min-height:66px;
}
.bpl-row--head{padding-top:9px;padding-bottom:9px;min-height:0}
.bpl-product{gap:11px}
.bpl-product img{width:46px;height:46px;border-radius:7px}
.bpl-product small,.bpl-product em{margin-top:2px;font-size:11px;line-height:1.3}
.bpl-qty button,.bpl-qty input{width:36px;height:34px}
.bpl-qty button{font-size:16px}
.bpl-row-remove{
    display:inline-flex;
    align-items:center;
    margin:4px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#667782!important;
    font:inherit!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-decoration:underline!important;
    text-underline-offset:2px;
    cursor:pointer;
}
.bpl-row-remove:hover{color:#b24646!important}
.bpl-row.is-excluded{opacity:.58;background:#fafbfc}
.bpl-row.is-excluded .bpl-row-remove{color:#2f6ca3!important}
.bpl-row.is-excluded .bpl-product strong{text-decoration:line-through;text-decoration-thickness:1px}

/* Woo adds clearfix pseudo-elements; as grid children they can scramble My Account. */
body.woocommerce-account.bpl-commerce-page .woocommerce::before,
body.woocommerce-account.bpl-commerce-page .woocommerce::after{
    content:none!important;
    display:none!important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation{
    grid-column:1!important;
    grid-row:1!important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
}

/* Mobile: make the plugin use the screen instead of inheriting narrow Divi rows. */
@media(max-width:700px){
    :root{--bpl-shell-gutter:8px!important}
    .bpl-shell,
    .bpl-school-finder,
    .bpl-directory,
    .bpl-directory-back,
    .bpl-list,
    body.bpl-commerce-page #main-content,
    body.bpl-commerce-page #main-content>.container,
    body.bpl-commerce-page #main-content .container,
    body.bpl-commerce-page #left-area,
    body.bpl-commerce-page .site-content,
    body.bpl-commerce-page .content-area,
    body.bpl-commerce-page main.site-main{
        width:calc(100% - 16px)!important;
        max-width:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }
    body.bpl-commerce-page .et_pb_section,
    body.bpl-school-list-page .et_pb_section{
        padding-left:0!important;
        padding-right:0!important;
    }
    body.bpl-commerce-page .et_pb_row,
    body.bpl-school-list-page .et_pb_row{
        width:100%!important;
        max-width:100%!important;
        padding-left:0!important;
        padding-right:0!important;
    }
    .bpl-school-finder.bpl-school-hero{padding:18px 12px!important;margin-top:8px!important}
    .bpl-list{border-radius:12px!important}
    .bpl-list__header{padding:18px 14px}
    .bpl-row{grid-template-columns:34px minmax(0,1fr);padding:9px 12px;gap:8px;min-height:0}
    .bpl-product img{width:42px;height:42px}
    .bpl-list__footer{padding:14px 12px;gap:12px}
    body.woocommerce-account.bpl-commerce-page .woocommerce{grid-template-columns:1fr!important;gap:12px!important}
    body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation{grid-column:1!important;grid-row:1!important}
    body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content{grid-column:1!important;grid-row:2!important;padding:16px 14px!important}
}


/* =========================================================
   Beta 7 - final storefront consolidation
   One shell, denser catalogues, restored review experience.
========================================================= */
:root{
  --bpl-shell-width:1400px;
  --bpl-shell-gutter:24px;
}

/* Keep every customer-facing surface on exactly the same viewport-based shell. */
.bpl-shell,
.bpl-directory,
.bpl-directory-back,
.bpl-list,
.bpl-school-finder{
  width:min(var(--bpl-shell-width),calc(100vw - (var(--bpl-shell-gutter) * 2)))!important;
  max-width:var(--bpl-shell-width)!important;
  box-sizing:border-box!important;
}
.bpl-school-finder,
.bpl-directory,
.bpl-directory-back,
.bpl-list{
  position:relative;
  left:50%;
  transform:translateX(-50%);
}
.bpl-school-hero .bpl-list{
  width:100%!important;
  max-width:none!important;
  left:auto!important;
  transform:none!important;
  margin:18px 0 0!important;
}
body.bpl-commerce-page #main-content,
body.bpl-commerce-page #main-content>.container,
body.bpl-commerce-page #main-content .container,
body.bpl-commerce-page #left-area,
body.bpl-commerce-page .site-content,
body.bpl-commerce-page .content-area,
body.bpl-commerce-page main.site-main{
  width:min(var(--bpl-shell-width),calc(100vw - (var(--bpl-shell-gutter) * 2)))!important;
  max-width:var(--bpl-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Reduce dead space before/around the application navigation. */
body.bpl-commerce-page #main-content>.container,
body.bpl-commerce-page #main-content .container{padding-top:6px!important}
.bpl-shell{margin:4px auto 12px!important;min-height:64px!important;padding:7px 14px!important}
.bpl-shell__logo-img{max-height:44px!important}
.bpl-school-finder.bpl-school-hero{margin-top:8px!important}

/* Shop = a compact ordering sheet, not floating product cards. */
body.bpl-shop-list-page ul.products{gap:0!important;border-top:1px solid #e5eaee!important}
body.bpl-shop-list-page ul.products li.product{
  min-height:76px!important;
  padding:7px 12px!important;
  border:0!important;
  border-bottom:1px solid #e5eaee!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  grid-template-columns:62px minmax(0,1fr) 120px minmax(220px,250px)!important;
  column-gap:12px!important;
}
body.bpl-shop-list-page ul.products li.product:hover{background:#fbfcfd!important}
body.bpl-shop-list-page ul.products li.product a img,
body.bpl-shop-list-page ul.products li.product .woocommerce-placeholder{width:54px!important;height:54px!important;border-radius:7px!important}
body.bpl-shop-list-page ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;margin-bottom:2px!important}
body.bpl-shop-list-page .bpl-shop-meta{font-size:10px!important}
body.bpl-shop-list-page ul.products li.product .price{font-size:14px!important}
body.bpl-shop-list-page .bpl-shop-qty{height:36px!important}
body.bpl-shop-list-page .bpl-shop-qty button{height:34px!important}
body.bpl-shop-list-page .bpl-shop-qty input.qty{height:34px!important}
body.bpl-shop-list-page ul.products li.product .button,
body.bpl-shop-list-page .bpl-shop-add{min-height:36px!important}

/* Restored list review layout: one authoritative total, one summary card. */
.bpl-list--review{background:#f6f8f9!important;border:1px solid #d7e0e6!important;border-radius:16px!important;overflow:visible!important;padding:0!important}
.bpl-list--review .bpl-list__header{padding:18px 22px!important;background:#fff!important;border-radius:16px 16px 0 0!important}
.bpl-list--review .bpl-list__header h2{font-size:26px!important;margin:4px 0 4px!important}
.bpl-review-strip{display:flex;align-items:center;gap:12px;margin:12px 14px;padding:12px 14px;border:1px solid #dbe3e8;border-radius:12px;background:#fff}
.bpl-review-check{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#3e8a58;color:#fff;font-weight:800;flex:none}
.bpl-review-strip strong,.bpl-review-strip small{display:block}.bpl-review-strip strong{font-size:14px;color:#243140}.bpl-review-strip small{margin-top:3px;color:#6b7882;font-size:12px}
.bpl-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;padding:0 14px 14px}
.bpl-list--review .bpl-table{min-width:0}
.bpl-list--review .bpl-row{grid-template-columns:34px minmax(0,1fr) 105px 126px 105px;gap:10px;min-height:76px;padding:9px 12px;border:1px solid #dbe3e8;border-bottom:0;background:#fff}
.bpl-list--review .bpl-row:nth-child(2){border-radius:12px 12px 0 0}
.bpl-list--review .bpl-row:last-child{border-bottom:1px solid #dbe3e8;border-radius:0 0 12px 12px}
.bpl-list--review .bpl-row--head{min-height:auto;padding:8px 12px;border-radius:10px 10px 0 0!important;background:#eef3f6}
.bpl-list--review .bpl-product img{width:48px;height:48px}
.bpl-list--review .bpl-product strong{font-size:14px;color:#1f2933}.bpl-item-badge{display:inline-block!important;width:auto!important;margin:0 0 3px!important;padding:3px 7px;border:1px solid #bad6c4;border-radius:6px;background:#edf7f0;color:#467158!important;font-size:10px!important;font-weight:700}
.bpl-list--review .bpl-product em{font-size:11px}.bpl-list--review .bpl-row-remove{font-size:10px!important;margin-top:3px!important}
.bpl-list--review .bpl-qty button,.bpl-list--review .bpl-qty input{width:36px!important;height:34px!important}
.bpl-list-summary{position:sticky;top:16px;align-self:start;padding:18px;border:1px solid #cad7df;border-radius:13px;background:#fff;color:#273843}
.bpl-summary-kicker{display:block;color:#687782;font-size:11px;font-weight:700}.bpl-list-summary h3{margin:5px 0 3px!important;font-size:22px!important;color:#1f2933!important}.bpl-list-summary>p{margin:0!important;color:#76838c;font-size:12px}.bpl-list-summary hr{border:0;border-top:1px solid #e0e6ea;margin:15px 0}.bpl-summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bpl-summary-stats>div{padding:10px;border:1px solid #dce4e9;border-radius:9px;background:#f5f8fa}.bpl-summary-stats span,.bpl-summary-stats strong{display:block}.bpl-summary-stats span{font-size:10px;color:#70808a}.bpl-summary-stats strong{font-size:13px;margin-top:2px}.bpl-summary-removed{display:flex;justify-content:space-between;gap:12px;padding:13px 0;color:#6d7a83;font-size:11px}.bpl-summary-removed strong{color:#a24d4d}.bpl-summary-total{padding:15px;border:1px solid #b9d2e1;border-radius:11px;background:#edf6fb}.bpl-summary-total span,.bpl-summary-total strong,.bpl-summary-total small{display:block}.bpl-summary-total span{font-size:11px;font-weight:700;color:#567184}.bpl-summary-total strong{margin-top:2px;font-size:28px;color:#215a7d}.bpl-summary-total small{margin-top:3px;color:#73838e;font-size:10px}.bpl-list-summary .bpl-add-button{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;margin-top:12px!important;min-height:48px!important}.bpl-list-summary .bpl-add-button b{font-size:18px}.bpl-list--review .bpl-list__footer{display:none!important}

/* Desktop account content should sit beside the navigation, not float away. */
body.woocommerce-account.bpl-commerce-page .woocommerce{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation{width:auto!important;float:none!important;margin:0!important}
body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content{width:auto!important;float:none!important;margin:0!important}

/* Mobile navigation: never hide primary destinations. */
@media(max-width:720px){
  :root{--bpl-shell-gutter:8px!important}
  .bpl-shell{width:calc(100vw - 16px)!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto auto!important;gap:7px!important;padding:7px 8px!important}
  .bpl-shell__brand{grid-column:1;grid-row:1}.bpl-shell__logo-img{max-width:92px!important;max-height:38px!important}
  .bpl-shell__search{grid-column:1/-1!important;grid-row:2!important;height:42px!important}
  .bpl-shell__nav{grid-column:1/-1!important;grid-row:3!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;width:100%!important}
  .bpl-shell__nav>a,.bpl-shell__nav>a:nth-child(n){display:flex!important;justify-content:center!important;min-width:0!important;height:36px!important;padding:0 5px!important;font-size:11px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bpl-shell__basket span{min-width:20px;height:20px;font-size:10px}
  .bpl-school-finder,.bpl-directory,.bpl-directory-back,.bpl-list{width:calc(100vw - 16px)!important;left:50%!important;transform:translateX(-50%)!important}
  .bpl-school-hero .bpl-list{width:100%!important;left:auto!important;transform:none!important}
  .bpl-list-layout{grid-template-columns:1fr;padding:0 8px 8px}.bpl-list-summary{position:static;order:-1}.bpl-list--review .bpl-row--head{display:none}.bpl-list--review .bpl-row{grid-template-columns:30px minmax(0,1fr);padding:8px;min-height:0}.bpl-list--review .bpl-row>span:nth-child(3),.bpl-list--review .bpl-row>span:nth-child(4),.bpl-list--review .bpl-row>span:nth-child(5){grid-column:2}.bpl-list--review .bpl-product img{width:42px;height:42px}
  body.woocommerce-account.bpl-commerce-page .woocommerce{grid-template-columns:1fr!important}
  body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-navigation,body.woocommerce-account.bpl-commerce-page .woocommerce-MyAccount-content{grid-column:1!important}
}


/* =========================================================
   Beta 7.1 - final UX polish patch
========================================================= */

/* 1. Shop: hide Woo breadcrumb/path. */
body.bpl-shop-list-page .woocommerce-breadcrumb,
body.bpl-shop-list-page nav.woocommerce-breadcrumb{
    display:none!important;
}

/* 2. One button language across list/shop/cart actions. */
:root{--bpl-action:#2f6ca3;--bpl-action-hover:#255785}
.bpl-add-button,
body.bpl-shop-list-page .bpl-shop-add,
body.bpl-shop-list-page ul.products li.product .button,
body.bpl-commerce-page .woocommerce a.button,
body.bpl-commerce-page .woocommerce button.button,
body.bpl-commerce-page .woocommerce input.button{
    background:var(--bpl-action)!important;
    color:#fff!important;
    border:1px solid var(--bpl-action)!important;
    border-radius:9px!important;
    box-shadow:none!important;
    font-weight:700!important;
    text-decoration:none!important;
}
.bpl-add-button:hover,
body.bpl-shop-list-page .bpl-shop-add:hover,
body.bpl-shop-list-page ul.products li.product .button:hover,
body.bpl-commerce-page .woocommerce a.button:hover,
body.bpl-commerce-page .woocommerce button.button:hover,
body.bpl-commerce-page .woocommerce input.button:hover{
    background:var(--bpl-action-hover)!important;
    border-color:var(--bpl-action-hover)!important;
    color:#fff!important;
}

/* 5. Desktop catalogue: align the visual header to the actual row geometry. */
.bpl-catalog-head{
    grid-template-columns:minmax(0,1fr) 120px 250px!important;
    padding-left:86px!important;
    padding-right:12px!important;
}
body.bpl-shop-list-page ul.products li.product{
    grid-template-columns:62px minmax(280px,1fr) 120px 250px!important;
    min-height:72px!important;
    padding:6px 12px!important;
    column-gap:12px!important;
}
body.bpl-shop-list-page ul.products li.product .woocommerce-loop-product__title{
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
}
body.bpl-shop-list-page ul.products li.product .price{justify-self:start!important}
body.bpl-shop-list-page .bpl-shop-cart,
body.bpl-shop-list-page ul.products li.product>.button,
body.bpl-shop-list-page ul.products li.product>a.button{
    justify-self:end!important;
    max-width:250px!important;
}

/* 6. School-list column headings: give Include enough room so it cannot overlap Product. */
.bpl-list--review .bpl-row{
    grid-template-columns:64px minmax(0,1fr) 105px 126px 105px!important;
}
.bpl-list--review .bpl-row--head>span:first-child{text-align:center;white-space:nowrap}
.bpl-list--review .bpl-row>span:first-child{display:flex;align-items:center;justify-content:center}

/* 7. Helpful school-not-found panel. */
.bpl-school-empty{
    padding:14px 13px;
    border-radius:9px;
    background:#f8fafb;
    color:#5f6f7b;
    font-size:13px;
    line-height:1.45;
}
.bpl-school-empty strong,.bpl-school-empty span,.bpl-school-empty a{display:block}
.bpl-school-empty strong{margin-bottom:3px;color:#243140;font-size:14px}
.bpl-school-empty a{margin-top:8px;color:#2f6ca3!important;font-weight:700;text-decoration:none}
.bpl-school-empty a:hover{text-decoration:underline}

@media(max-width:900px){
    body.bpl-shop-list-page ul.products li.product{
        grid-template-columns:62px minmax(0,1fr) 105px!important;
        grid-template-rows:auto auto auto!important;
    }
    body.bpl-shop-list-page ul.products li.product .woocommerce-loop-product__title{
        grid-column:2!important;
        grid-row:1!important;
    }
    body.bpl-shop-list-page .bpl-shop-meta{grid-column:2!important;grid-row:2!important}
    body.bpl-shop-list-page ul.products li.product .price{grid-column:3!important;grid-row:1 / span 2!important}
    body.bpl-shop-list-page .bpl-shop-cart,
    body.bpl-shop-list-page ul.products li.product>.button,
    body.bpl-shop-list-page ul.products li.product>a.button{
        grid-column:2 / -1!important;
        grid-row:3!important;
    }
}

@media(max-width:620px){
    /* 3. On phones the list comes first and the stationery summary follows it. */
    .bpl-list-layout{display:flex!important;flex-direction:column!important}
    .bpl-list-layout>.bpl-table{order:1!important}
    .bpl-list-layout>.bpl-list-summary{order:2!important;position:static!important;margin-top:10px!important}

    /* 4. Robust two-column mobile catalogue: never collapse product names letter-by-letter. */
    body.bpl-shop-list-page ul.products li.product{
        display:grid!important;
        grid-template-columns:56px minmax(0,1fr)!important;
        grid-template-rows:auto auto auto auto!important;
        gap:3px 10px!important;
        padding:9px 8px!important;
        min-width:0!important;
    }
    body.bpl-shop-list-page ul.products li.product a.woocommerce-LoopProduct-link{min-width:0!important}
    body.bpl-shop-list-page ul.products li.product a img,
    body.bpl-shop-list-page ul.products li.product .woocommerce-placeholder{
        grid-column:1!important;grid-row:1 / span 2!important;width:52px!important;height:52px!important;
    }
    body.bpl-shop-list-page ul.products li.product .woocommerce-loop-product__title{
        grid-column:2!important;grid-row:1!important;
        min-width:0!important;width:100%!important;
        font-size:14px!important;line-height:1.3!important;
        word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important;
    }
    body.bpl-shop-list-page .bpl-shop-meta{grid-column:2!important;grid-row:2!important;min-width:0!important}
    body.bpl-shop-list-page ul.products li.product .price{
        grid-column:2!important;grid-row:3!important;
        justify-self:start!important;margin:4px 0!important;
    }
    body.bpl-shop-list-page .bpl-shop-cart,
    body.bpl-shop-list-page ul.products li.product>.button,
    body.bpl-shop-list-page ul.products li.product>a.button{
        grid-column:1 / -1!important;grid-row:4!important;
        width:100%!important;max-width:none!important;justify-self:stretch!important;
    }
    body.bpl-shop-list-page .bpl-shop-cart{display:flex!important;justify-content:flex-end!important}
    body.bpl-shop-list-page .bpl-shop-add{flex:1!important}

    /* School-list header stays readable on phones too. */
    .bpl-list--review .bpl-row{grid-template-columns:30px minmax(0,1fr)!important}
}

/* =========================================================
   beta.8 - PenPro signature design system
========================================================= */
:root{
    --bpl-primary:#7B2EFF;--bpl-secondary:#286BFF;--bpl-accent:#FF6B00;--bpl-success:#15C46B;
    --bpl-header:#111111;--bpl-surface:#FFFFFF;--bpl-bg:#F6F7FB;--bpl-text:#232633;
    --bpl-card-radius:18px;--bpl-button-radius:12px;--bpl-gradient:linear-gradient(90deg,#FF6B00 0%,#7B2EFF 52%,#286BFF 100%);
}
body.bpl-commerce-page{background:var(--bpl-bg)!important;color:var(--bpl-text)}
body.bpl-commerce-page .bpl-shell-wrap{background:var(--bpl-header)!important;border-bottom:0!important;box-shadow:0 8px 28px rgba(17,17,17,.12)}
body.bpl-commerce-page .bpl-shell{background:transparent!important}
body.bpl-commerce-page .bpl-shell a,body.bpl-commerce-page .bpl-shell__brand{color:#fff!important}
body.bpl-commerce-page .bpl-shell__tagline{color:rgba(255,255,255,.68)!important}
body.bpl-commerce-page .bpl-shell a.is-active{color:#fff!important}
body.bpl-commerce-page .bpl-shell a.is-active:after{background:var(--bpl-gradient)!important;height:3px!important;border-radius:3px!important}

/* Primary actions: unmistakably PenPro. */
body.bpl-commerce-page .button.alt,
body.bpl-commerce-page button.button.alt,
body.bpl-commerce-page .checkout-button,
body.bpl-commerce-page #place_order,
.bpl-add-button,.bpl-shop-add,.bpl-directory-card__button,
.bpl-school-finder button[type=submit]{
    background:var(--bpl-gradient)!important;color:#fff!important;border:0!important;border-radius:var(--bpl-button-radius)!important;
    box-shadow:0 8px 20px rgba(123,46,255,.18)!important;font-weight:800!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
body.bpl-commerce-page .button.alt:hover,body.bpl-commerce-page button.button.alt:hover,body.bpl-commerce-page .checkout-button:hover,
body.bpl-commerce-page #place_order:hover,.bpl-add-button:hover,.bpl-shop-add:hover,.bpl-directory-card__button:hover{
    filter:saturate(1.08) brightness(1.02);transform:translateY(-1px);box-shadow:0 11px 24px rgba(123,46,255,.24)!important;
}
body.bpl-commerce-page .button:not(.alt),.bpl-directory-back a{border-radius:var(--bpl-button-radius)!important}

/* Cards and panels. */
.bpl-catalog-tools,.bpl-directory-card,.bpl-list-summary,.bpl-table,.bpl-school-card,.bpl-school-finder,
body.bpl-commerce-page .woocommerce-cart-form,body.bpl-commerce-page .cart_totals,body.bpl-commerce-page .woocommerce-checkout-review-order{
    background:var(--bpl-surface)!important;border:1px solid rgba(44,48,58,.09)!important;border-radius:var(--bpl-card-radius)!important;
    box-shadow:0 10px 30px rgba(33,39,52,.055)!important;
}
.bpl-catalog-tools{padding:16px!important}
.bpl-catalog-categories button.is-active{background:var(--bpl-primary)!important;border-color:var(--bpl-primary)!important}
.bpl-catalog-search input:focus{border-color:var(--bpl-primary)!important;box-shadow:0 0 0 3px rgba(123,46,255,.11)!important}

/* Catalogue rows: quieter, aligned, premium. */
body.bpl-shop-list-page ul.products li.product{background:var(--bpl-surface)!important;border:1px solid rgba(44,48,58,.09)!important;border-radius:14px!important;box-shadow:0 3px 14px rgba(33,39,52,.035)!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
body.bpl-shop-list-page ul.products li.product:hover{transform:translateY(-1px);border-color:rgba(123,46,255,.22)!important;box-shadow:0 8px 22px rgba(33,39,52,.07)!important}
body.bpl-shop-list-page ul.products li.product .woocommerce-loop-product__title{color:var(--bpl-text)!important;font-weight:800!important}
body.bpl-shop-list-page ul.products li.product .price{color:var(--bpl-primary)!important;font-weight:850!important}
body.bpl-shop-list-page .bpl-shop-qty{border-radius:var(--bpl-button-radius)!important}

/* School list identity. */
.bpl-school-hero,.bpl-list-header{position:relative;overflow:hidden}
.bpl-school-hero:before,.bpl-list-header:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--bpl-gradient)}
.bpl-kicker,.bpl-school-badge,.bpl-list-eyebrow{color:var(--bpl-primary)!important}
.bpl-list-summary__total,.bpl-summary-total,.bpl-list-total{color:var(--bpl-success)!important}
.bpl-required,.bpl-badge--required{background:rgba(123,46,255,.10)!important;color:var(--bpl-primary)!important;border-color:rgba(123,46,255,.18)!important}
.bpl-optional,.bpl-badge--optional{background:rgba(40,107,255,.08)!important;color:var(--bpl-secondary)!important;border-color:rgba(40,107,255,.16)!important}
.bpl-message--success,.woocommerce-message{border-top-color:var(--bpl-success)!important}

/* Woo system pages. */
body.bpl-commerce-page .woocommerce a{accent-color:var(--bpl-primary)}
body.bpl-commerce-page .woocommerce .amount{font-weight:750}
body.bpl-commerce-page .cart_totals h2,body.bpl-commerce-page .woocommerce-checkout-review-order-table th{color:var(--bpl-text)!important}
body.bpl-commerce-page .cart_totals .order-total .amount,body.bpl-commerce-page .woocommerce-checkout-review-order-table .order-total .amount{color:var(--bpl-success)!important}

@media(max-width:620px){
    body.bpl-commerce-page #main-content>.container,body.bpl-commerce-page #main-content .container,body.bpl-commerce-page .site-main,body.bpl-commerce-page main.site-main{width:min(100% - 20px,1400px)!important}
    .bpl-catalog-tools,.bpl-directory-card,.bpl-list-summary,.bpl-table{border-radius:14px!important}
    body.bpl-shop-list-page ul.products li.product{border-radius:12px!important}
}


/* =========================================================
   beta.8.1 - Spectrum navigation polish
========================================================= */
body.bpl-commerce-page .bpl-shell-wrap{
    background:var(--bpl-header)!important;
    box-shadow:0 6px 22px rgba(17,17,17,.14)!important;
}
body.bpl-commerce-page .bpl-shell{
    margin:0 auto!important;
    min-height:78px!important;
    padding:10px 18px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    grid-template-columns:auto minmax(300px,1fr) auto!important;
    gap:26px!important;
}
body.bpl-commerce-page .bpl-shell__logo-img{
    max-height:56px!important;
    max-width:150px!important;
}
body.bpl-commerce-page .bpl-shell__search{
    height:46px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.bpl-commerce-page .bpl-shell__search:focus-within{
    border-color:rgba(123,46,255,.65)!important;
    box-shadow:0 0 0 3px rgba(123,46,255,.16)!important;
}
body.bpl-commerce-page .bpl-shell__nav{
    gap:2px!important;
}
body.bpl-commerce-page .bpl-shell__nav>a{
    position:relative!important;
    min-height:44px!important;
    padding:0 14px!important;
    border-radius:8px!important;
    background:transparent!important;
    color:rgba(255,255,255,.88)!important;
    font-size:14px!important;
    font-weight:700!important;
    transition:background .16s ease,color .16s ease!important;
}
body.bpl-commerce-page .bpl-shell__nav>a:hover{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
}
body.bpl-commerce-page .bpl-shell__nav>a.is-active{
    background:transparent!important;
    color:#fff!important;
}
body.bpl-commerce-page .bpl-shell__nav>a.is-active:after{
    content:""!important;
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    bottom:2px!important;
    height:3px!important;
    border-radius:999px!important;
    background:var(--bpl-gradient)!important;
}
body.bpl-commerce-page .bpl-shell__basket span{
    background:var(--bpl-secondary)!important;
    color:#fff!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.10)!important;
}
@media(max-width:900px){
    body.bpl-commerce-page .bpl-shell{
        grid-template-columns:auto 1fr!important;
        gap:8px 16px!important;
        padding:9px 12px!important;
    }
    body.bpl-commerce-page .bpl-shell__search{grid-column:1/-1!important;grid-row:2!important}
}
@media(max-width:720px){
    body.bpl-commerce-page .bpl-shell{
        width:calc(100vw - 16px)!important;
        grid-template-columns:1fr auto!important;
        grid-template-rows:auto auto auto!important;
        padding:8px!important;
    }
    body.bpl-commerce-page .bpl-shell__logo-img{max-width:96px!important;max-height:40px!important}
    body.bpl-commerce-page .bpl-shell__nav{
        grid-column:1/-1!important;grid-row:3!important;
        display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
        width:100%!important;gap:3px!important;
    }
    body.bpl-commerce-page .bpl-shell__nav>a,
    body.bpl-commerce-page .bpl-shell__nav>a:nth-child(n){
        display:flex!important;justify-content:center!important;
        min-width:0!important;height:36px!important;padding:0 4px!important;
        font-size:11px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    body.bpl-commerce-page .bpl-shell__nav>a.is-active:after{left:7px!important;right:7px!important;bottom:0!important}
}

/* =========================================================
   beta.8.2 - rounded shell + cleaner Spectrum storefront
========================================================= */
/* Restore the original floating/rounded application header. */
body.bpl-commerce-page .bpl-shell-wrap{
    background:transparent!important;
    box-shadow:none!important;
    padding-top:4px!important;
}
body.bpl-commerce-page .bpl-shell{
    width:min(var(--bpl-shell-width,1400px),calc(100vw - (var(--bpl-shell-gutter,24px) * 2)))!important;
    margin:4px auto 12px!important;
    min-height:68px!important;
    padding:8px 14px!important;
    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:16px!important;
    background:var(--bpl-header)!important;
    box-shadow:0 7px 22px rgba(17,17,17,.16)!important;
    grid-template-columns:minmax(110px,180px) minmax(300px,1fr) auto!important;
    gap:18px!important;
    overflow:hidden!important;
}
body.bpl-commerce-page .bpl-shell__nav>a{
    border-radius:9px!important;
}
/* Basket is a first-class nav destination and uses the same active treatment. */
body.bpl-commerce-page .bpl-shell__basket.is-active,
body.bpl-commerce-page .bpl-shell__nav>a.is-active{
    color:#fff!important;
}
body.bpl-commerce-page .bpl-shell__basket span{
    background:var(--bpl-primary)!important;
}

/* Remove the decorative rainbow rule from the School Lists hero. */
.bpl-school-hero:before{display:none!important;content:none!important}

/* School -> Grade -> Review wizard: stronger, more intentional hierarchy. */
.bpl-school-progress{
    max-width:620px!important;
    margin-top:18px!important;
    gap:0!important;
}
.bpl-school-progress>div{
    position:relative!important;
    z-index:2!important;
    gap:8px!important;
    padding:5px 9px 5px 5px!important;
    border:1px solid #e4e0ee!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#68727e!important;
    box-shadow:0 3px 10px rgba(35,39,48,.035)!important;
    white-space:nowrap!important;
}
.bpl-school-progress>div>span{
    width:28px!important;height:28px!important;
    border:1px solid #d6cfdf!important;
    background:#f8f5ff!important;
    color:var(--bpl-primary)!important;
}
.bpl-school-progress>div.is-active{
    border-color:rgba(123,46,255,.28)!important;
    background:rgba(123,46,255,.055)!important;
}
.bpl-school-progress>div.is-active>span{
    border-color:var(--bpl-primary)!important;
    background:var(--bpl-primary)!important;
    color:#fff!important;
    box-shadow:0 4px 10px rgba(123,46,255,.22)!important;
}
.bpl-school-progress>div.is-active strong{color:var(--bpl-primary)!important}
.bpl-school-progress>i{
    min-width:28px!important;
    margin:0 7px!important;
    height:2px!important;
    background:linear-gradient(90deg,rgba(123,46,255,.30),rgba(123,46,255,.10))!important;
}

/* Browse Products uses purple actions, not generic blue. */
body.bpl-shop-list-page .bpl-shop-add,
body.bpl-shop-list-page ul.products li.product>.button,
body.bpl-shop-list-page ul.products li.product>a.button{
    background:var(--bpl-primary)!important;
    border-color:var(--bpl-primary)!important;
    color:#fff!important;
    box-shadow:0 5px 14px rgba(123,46,255,.17)!important;
}
body.bpl-shop-list-page .bpl-shop-add:hover,
body.bpl-shop-list-page ul.products li.product>.button:hover,
body.bpl-shop-list-page ul.products li.product>a.button:hover{
    background:#6821e6!important;
    border-color:#6821e6!important;
    color:#fff!important;
    filter:none!important;
}

/* Basket: carry the same Spectrum card/button language through WooCommerce. */
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form,
body.woocommerce-cart.bpl-commerce-page .cart_totals{
    border:1px solid rgba(44,48,58,.09)!important;
    border-radius:var(--bpl-card-radius)!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(33,39,52,.055)!important;
    overflow:hidden!important;
}
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form .button,
body.woocommerce-cart.bpl-commerce-page .cart_totals .button:not(.checkout-button){
    background:var(--bpl-primary)!important;
    border-color:var(--bpl-primary)!important;
    color:#fff!important;
    border-radius:var(--bpl-button-radius)!important;
}
body.woocommerce-cart.bpl-commerce-page .cart_totals .checkout-button{
    background:var(--bpl-gradient)!important;
    color:#fff!important;
    border:0!important;
    border-radius:var(--bpl-button-radius)!important;
}
body.woocommerce-cart.bpl-commerce-page .cart_totals .order-total .amount{color:var(--bpl-success)!important}

@media(max-width:900px){
    body.bpl-commerce-page .bpl-shell{
        grid-template-columns:auto 1fr!important;
        gap:8px 14px!important;
    }
    body.bpl-commerce-page .bpl-shell__search{grid-column:1/-1!important;grid-row:2!important}
}
@media(max-width:720px){
    body.bpl-commerce-page .bpl-shell-wrap{padding-top:2px!important}
    body.bpl-commerce-page .bpl-shell{
        width:calc(100vw - 16px)!important;
        margin:2px auto 10px!important;
        grid-template-columns:1fr auto!important;
        grid-template-rows:auto auto auto!important;
        gap:7px!important;
        padding:8px!important;
        border-radius:14px!important;
        overflow:visible!important;
    }
    body.bpl-commerce-page .bpl-shell__brand{grid-column:1!important;grid-row:1!important}
    body.bpl-commerce-page .bpl-shell__logo-img{max-width:92px!important;max-height:38px!important}
    body.bpl-commerce-page .bpl-shell__search{grid-column:1/-1!important;grid-row:2!important;height:42px!important}
    body.bpl-commerce-page .bpl-shell__nav{
        grid-column:1/-1!important;grid-row:3!important;
        display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:3px!important;width:100%!important;
    }
    body.bpl-commerce-page .bpl-shell__nav>a,
    body.bpl-commerce-page .bpl-shell__nav>a:nth-child(n){
        display:flex!important;justify-content:center!important;
        min-width:0!important;height:36px!important;padding:0 3px!important;
        font-size:10.5px!important;line-height:1!important;
        overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;
    }
    .bpl-school-progress{max-width:none!important;width:100%!important}
    .bpl-school-progress>div{padding:4px 7px 4px 4px!important;font-size:11px!important}
    .bpl-school-progress>div>span{width:25px!important;height:25px!important}
    .bpl-school-progress>i{min-width:10px!important;margin:0 3px!important}
}
@media(max-width:410px){
    body.bpl-commerce-page .bpl-shell__nav>a,
    body.bpl-commerce-page .bpl-shell__nav>a:nth-child(n){font-size:9.5px!important;padding:0 2px!important}
    .bpl-school-progress>div{padding-right:5px!important;gap:5px!important;font-size:10px!important}
    .bpl-school-progress>i{min-width:5px!important;margin:0 2px!important}
}

/* beta.8.3: compact catalogue + WooCommerce action controls. */
body.bpl-shop-list-page .bpl-shop-cart{
    align-items:center!important;
    gap:10px!important;
}
body.bpl-shop-list-page .bpl-shop-add{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:128px!important;
    min-height:38px!important;
    height:38px!important;
    padding:0 16px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:800!important;
    border-radius:10px!important;
    background:var(--bpl-primary)!important;
    border:1px solid var(--bpl-primary)!important;
    color:#fff!important;
    box-shadow:0 4px 12px rgba(123,46,255,.14)!important;
}
body.bpl-shop-list-page .bpl-shop-add:hover{
    background:#6821e6!important;
    border-color:#6821e6!important;
    transform:translateY(-1px)!important;
    box-shadow:0 6px 16px rgba(123,46,255,.20)!important;
}
body.bpl-shop-list-page .bpl-shop-qty{
    height:38px!important;
    border-radius:10px!important;
}
body.bpl-shop-list-page .bpl-shop-qty button,
body.bpl-shop-list-page .bpl-shop-qty input.qty{
    height:36px!important;
    min-height:36px!important;
    line-height:36px!important;
    margin:0!important;
}
body.bpl-shop-list-page .bpl-shop-qty button{
    width:34px!important;
    padding:0!important;
    font-size:16px!important;
}
body.bpl-shop-list-page .bpl-shop-qty input.qty{
    width:42px!important;
    padding:0 3px!important;
    font-size:14px!important;
}

/* Basket buttons should match Spectrum without inheriting oversized theme button rules. */
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form td.actions .button,
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form button[name="update_cart"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 18px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:800!important;
    border-radius:10px!important;
    background:var(--bpl-primary)!important;
    border:1px solid var(--bpl-primary)!important;
    color:#fff!important;
    box-shadow:none!important;
}
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form button[name="update_cart"]:disabled,
body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form button[name="update_cart"][disabled]{
    background:#ececf2!important;
    border-color:#dedee7!important;
    color:#9293a0!important;
    opacity:1!important;
    cursor:not-allowed!important;
}

body.woocommerce-cart.bpl-commerce-page .wc-proceed-to-checkout{
    padding:14px 0 0!important;
}
body.woocommerce-cart.bpl-commerce-page .wc-proceed-to-checkout .checkout-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 20px!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:800!important;
    border-radius:11px!important;
    background:var(--bpl-gradient)!important;
    color:#fff!important;
    box-shadow:0 6px 16px rgba(123,46,255,.16)!important;
}

/* Checkout primary action: full width is useful, excessive height is not. */
body.woocommerce-checkout.bpl-commerce-page #place_order,
body.woocommerce-checkout.bpl-commerce-page button#place_order{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 20px!important;
    margin-top:12px!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:800!important;
    border-radius:11px!important;
}

@media(max-width:620px){
    body.bpl-shop-list-page .bpl-shop-cart{gap:8px!important}
    body.bpl-shop-list-page .bpl-shop-add{min-width:116px!important;padding:0 13px!important;font-size:13px!important}
    body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form td.actions .button,
    body.woocommerce-cart.bpl-commerce-page .woocommerce-cart-form button[name="update_cart"]{width:100%!important}
}

/* =========================================================
   beta.8.4 - exact WooCommerce catalogue + basket markup polish
========================================================= */
/* Browse Products: target the AJAX product rows exactly as rendered. */
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr) 100px 270px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:2px 14px!important;
    min-height:76px!important;
    padding:7px 12px!important;
    margin:0!important;
    background:#fff!important;
    border:1px solid rgba(44,48,58,.10)!important;
    border-radius:12px!important;
    box-shadow:0 2px 10px rgba(33,39,52,.025)!important;
}
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product > a.woocommerce-LoopProduct-link{
    display:contents!important;
}
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product img{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:56px!important;
    height:56px!important;
    margin:0!important;
    object-fit:contain!important;
    border-radius:8px!important;
    background:#fff!important;
}
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product .woocommerce-loop-product__title{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    margin:0 0 2px!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:800!important;
    color:var(--bpl-text)!important;
}
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product .bpl-shop-meta{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    margin:0!important;
    color:#78818d!important;
    font-size:10.5px!important;
    line-height:1.25!important;
}
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product > .price{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
    color:var(--bpl-primary)!important;
    font-size:15px!important;
    font-weight:850!important;
    white-space:nowrap!important;
}
body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product > form.bpl-shop-cart{
    grid-column:4!important;
    grid-row:1 / span 2!important;
    display:grid!important;
    grid-template-columns:auto minmax(126px,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
body.bpl-shop-list-page ul.products.columns-1 .bpl-shop-qty{
    display:grid!important;
    grid-template-columns:30px 40px 30px!important;
    width:102px!important;
    height:36px!important;
    border:1px solid #d8dbe4!important;
    border-radius:9px!important;
    overflow:hidden!important;
    background:#fff!important;
}
body.bpl-shop-list-page ul.products.columns-1 .bpl-shop-qty button,
body.bpl-shop-list-page ul.products.columns-1 .bpl-shop-qty input.qty{
    width:auto!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    line-height:34px!important;
}
body.bpl-shop-list-page ul.products.columns-1 .bpl-shop-qty button{
    background:#f7f6fb!important;
    color:#4f5663!important;
    font-size:15px!important;
}
body.bpl-shop-list-page ul.products.columns-1 .bpl-shop-qty input.qty{
    background:#fff!important;
    color:var(--bpl-text)!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:750!important;
}
body.bpl-shop-list-page ul.products.columns-1 .bpl-shop-add{
    width:100%!important;
    min-width:126px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 13px!important;
    border-radius:9px!important;
    background:var(--bpl-primary)!important;
    border-color:var(--bpl-primary)!important;
    color:#fff!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:800!important;
}

/* Basket: style the exact WooCommerce table markup instead of relying on theme defaults. */
body.woocommerce-cart.bpl-commerce-page form.woocommerce-cart-form{
    margin:0 0 18px!important;
    padding:0!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart{
    width:100%!important;
    margin:0!important;
    border:0!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart thead th{
    padding:11px 12px!important;
    border:0!important;
    border-bottom:1px solid #ececf1!important;
    background:#fafafd!important;
    color:#686f7b!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.035em!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart tbody tr.cart_item td{
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #eeeeF3!important;
    vertical-align:middle!important;
    background:#fff!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-thumbnail{width:68px!important}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-thumbnail img{
    width:52px!important;
    height:52px!important;
    object-fit:contain!important;
    border-radius:8px!important;
    background:#fff!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-name a{
    color:var(--bpl-text)!important;
    font-weight:800!important;
    text-decoration:none!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-price,
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-subtotal{
    color:#3d4350!important;
    font-weight:750!important;
    white-space:nowrap!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-subtotal{
    color:var(--bpl-primary)!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-remove{width:34px!important;text-align:center!important}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-remove a.remove{
    display:inline-grid!important;
    place-items:center!important;
    width:26px!important;
    height:26px!important;
    margin:0!important;
    border-radius:999px!important;
    background:#f7f2fb!important;
    color:var(--bpl-primary)!important;
    font-size:18px!important;
    line-height:1!important;
    text-decoration:none!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-remove a.remove:hover{
    background:var(--bpl-primary)!important;
    color:#fff!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-quantity .quantity{
    display:inline-block!important;
    margin:0!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart input.qty{
    width:64px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 6px!important;
    margin:0!important;
    border:1px solid #d8dbe4!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:none!important;
    color:var(--bpl-text)!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:750!important;
}
body.woocommerce-cart.bpl-commerce-page table.shop_table.cart td.actions{
    padding:12px!important;
    border:0!important;
    background:#fafafd!important;
    text-align:right!important;
}
body.woocommerce-cart.bpl-commerce-page .cart-collaterals{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important;
    margin-top:0!important;
}
body.woocommerce-cart.bpl-commerce-page .cart-collaterals .cart_totals{
    float:none!important;
    width:min(100%,430px)!important;
    margin:0!important;
    padding:18px!important;
}
body.woocommerce-cart.bpl-commerce-page .cart_totals h2{
    margin:0 0 12px!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:850!important;
}
body.woocommerce-cart.bpl-commerce-page .cart_totals table{
    margin:0!important;
    border:0!important;
}
body.woocommerce-cart.bpl-commerce-page .cart_totals th,
body.woocommerce-cart.bpl-commerce-page .cart_totals td{
    padding:9px 0!important;
    border:0!important;
    border-bottom:1px solid #eeeeF3!important;
    background:transparent!important;
    font-size:14px!important;
}
body.woocommerce-cart.bpl-commerce-page .cart_totals td{text-align:right!important}
body.woocommerce-cart.bpl-commerce-page .cart_totals .order-total th,
body.woocommerce-cart.bpl-commerce-page .cart_totals .order-total td{
    padding-top:13px!important;
    border-bottom:0!important;
    font-size:16px!important;
}
body.woocommerce-cart.bpl-commerce-page .wc-proceed-to-checkout .checkout-button{
    height:42px!important;
    min-height:42px!important;
    font-size:14px!important;
    border-radius:10px!important;
}

@media(max-width:900px){
    body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product{
        grid-template-columns:58px minmax(0,1fr) 90px!important;
        grid-template-rows:auto auto auto!important;
    }
    body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product > form.bpl-shop-cart{
        grid-column:2 / -1!important;
        grid-row:3!important;
        margin-top:5px!important;
    }
}
@media(max-width:620px){
    body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product{
        grid-template-columns:54px minmax(0,1fr)!important;
        grid-template-rows:auto auto auto auto!important;
        gap:2px 9px!important;
        padding:9px!important;
    }
    body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product img{width:48px!important;height:48px!important}
    body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product > .price{
        grid-column:2!important;grid-row:3!important;margin-top:3px!important;
    }
    body.bpl-shop-list-page ul.products.columns-1 > li.bpl-ajax-product > form.bpl-shop-cart{
        grid-column:1 / -1!important;grid-row:4!important;margin-top:6px!important;
        grid-template-columns:102px minmax(0,1fr)!important;
    }
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart thead{display:none!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart tbody tr.cart_item{
        display:grid!important;
        grid-template-columns:32px 58px minmax(0,1fr)!important;
        gap:0 8px!important;
        padding:9px!important;
        border-bottom:1px solid #ececf1!important;
    }
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart tbody tr.cart_item td{
        display:block!important;
        width:auto!important;
        padding:4px 0!important;
        border:0!important;
        text-align:left!important;
    }
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-remove{grid-column:1!important;grid-row:1 / span 2!important;align-self:center!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-thumbnail{grid-column:2!important;grid-row:1 / span 2!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-name{grid-column:3!important;grid-row:1!important;align-self:end!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-price{grid-column:3!important;grid-row:2!important;color:#747b86!important;font-size:12px!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-quantity{grid-column:2!important;grid-row:3!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart .product-subtotal{grid-column:3!important;grid-row:3!important;align-self:center!important;text-align:right!important}
    body.woocommerce-cart.bpl-commerce-page table.shop_table.cart td[data-title]:before{display:none!important}
    body.woocommerce-cart.bpl-commerce-page .cart-collaterals .cart_totals{width:100%!important;padding:15px!important}
    body.woocommerce-cart.bpl-commerce-page .wc-proceed-to-checkout .checkout-button{height:42px!important;min-height:42px!important}
}

/* beta 8.5: polished WooCommerce order-received / thank-you screen */
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order{
    max-width:1180px!important;margin:0 auto!important;
}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order>p.woocommerce-notice--success,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order>p.woocommerce-thankyou-order-received{
    margin:10px 0 18px!important;padding:22px 24px 22px 72px!important;position:relative!important;
    border:1px solid #cdebd9!important;border-radius:16px!important;background:#f4fbf7!important;
    color:#1c5432!important;font-size:20px!important;line-height:1.35!important;font-weight:850!important;
}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order>p.woocommerce-notice--success:before,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order>p.woocommerce-thankyou-order-received:before{
    content:'✓'!important;position:absolute!important;left:22px!important;top:50%!important;transform:translateY(-50%)!important;
    width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:50%!important;
    background:var(--bpl-success)!important;color:#fff!important;font-size:18px!important;font-weight:900!important;
}
body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;margin:0 0 24px!important;padding:0!important;
    list-style:none!important;border:1px solid #e5e7ed!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;
}
body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview li{
    float:none!important;width:auto!important;margin:0!important;padding:16px 18px!important;border:0!important;border-right:1px solid #eceef3!important;
    color:#777f8b!important;font-size:10px!important;line-height:1.35!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:800!important;
}
body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview li:last-child{border-right:0!important}
body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview li strong{
    display:block!important;margin-top:5px!important;color:var(--bpl-text)!important;font-size:14px!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important;font-weight:850!important;word-break:break-word!important;
}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-customer-details{
    margin:0 0 20px!important;padding:0!important;border:1px solid #e5e7ed!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;
}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details h2,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-customer-details h2{
    margin:0!important;padding:18px 20px!important;border-bottom:1px solid #eceef3!important;background:#fbfbfd!important;color:var(--bpl-text)!important;font-size:20px!important;font-weight:850!important;
}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-customer-details address{margin:0!important;border:0!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table th,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table td{padding:13px 18px!important;border:0!important;border-bottom:1px solid #eef0f3!important;background:#fff!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table thead th{background:#fff!important;color:#6c7480!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table .product-name a{color:var(--bpl-primary)!important;font-weight:750!important;text-decoration:none!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table tfoot tr:last-child th,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table tfoot tr:last-child td{border-bottom:0!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table tfoot tr:nth-last-child(2) th,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table tfoot tr:nth-last-child(2) td{font-size:16px!important;font-weight:850!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-customer-details address{padding:18px 20px!important;line-height:1.7!important;background:#fff!important}
body.woocommerce-order-received.bpl-commerce-page .woocommerce-column--billing-address,
body.woocommerce-order-received.bpl-commerce-page .woocommerce-column--shipping-address{margin-bottom:0!important}
@media(max-width:900px){body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview li{border-bottom:1px solid #eceef3!important}body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview li:nth-child(2n){border-right:0!important}}
@media(max-width:560px){body.woocommerce-order-received.bpl-commerce-page .woocommerce-order>p.woocommerce-notice--success,body.woocommerce-order-received.bpl-commerce-page .woocommerce-order>p.woocommerce-thankyou-order-received{padding:18px 18px 18px 62px!important;font-size:17px!important}body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview{grid-template-columns:1fr!important}body.woocommerce-order-received.bpl-commerce-page ul.woocommerce-order-overview li{border-right:0!important}body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table th,body.woocommerce-order-received.bpl-commerce-page .woocommerce-order-details table td{padding:11px 12px!important}}


/* Beta 9: school package cards + global footer */
.bpl-package-card{margin:28px 0;padding:24px;border:1px solid #e5e7ed;border-radius:var(--bpl-card-radius);background:var(--bpl-surface);box-shadow:0 12px 34px rgba(20,24,40,.07);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.bpl-package-card__main h2{margin:5px 0 4px;font-size:25px;color:var(--bpl-text)}.bpl-package-card__main p,.bpl-package-card__main small{margin:0;color:#6d7480}.bpl-package-card__price{text-align:right}.bpl-package-card__price span,.bpl-package-card__price small{display:block;color:#737b87;font-size:12px}.bpl-package-card__price strong{display:block;margin:3px 0;color:var(--bpl-success);font-size:27px}.bpl-package-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:16px;border-top:1px solid #eceef3}.bpl-package-actions .button{margin:0!important}.bpl-package-actions button[disabled]{opacity:.55;cursor:not-allowed}.bpl-package-actions button small{display:inline;margin-left:5px;font-size:9px;text-transform:uppercase}.bpl-package-content{grid-column:1/-1}.bpl-package-content[hidden]{display:none!important}.bpl-package-content .bpl-list{margin-top:8px}.bpl-list--fixed-package .bpl-row-remove,.bpl-list--fixed-package .bpl-review-strip{display:none!important}.bpl-row--no-prices{grid-template-columns:70px minmax(0,1fr) 110px!important}.bpl-global-footer{max-width:1280px;margin:26px auto 0;padding:22px 24px;border-top:1px solid #e5e7ed;text-align:center;color:#7a818d;font-size:13px}
@media(max-width:700px){.bpl-package-card{grid-template-columns:1fr;padding:18px}.bpl-package-card__price{text-align:left}.bpl-package-actions{grid-column:1}.bpl-package-actions .button{width:100%;text-align:center}.bpl-package-content{grid-column:1}.bpl-row--no-prices{grid-template-columns:48px minmax(0,1fr) 72px!important}}

/* Beta 9.1 - handedness + multi-package ordering */
.bpl-package-choices{grid-column:1/-1;display:flex;gap:18px;align-items:end;padding:14px 16px;border:1px solid #e8ebef;border-radius:12px;background:#f8fafb}.bpl-package-choices label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#596571}.bpl-package-choices select,.bpl-package-choices input{height:42px!important;margin:0!important;border:1px solid #cfd8df!important;border-radius:8px!important;background:#fff!important;padding:0 10px!important}.bpl-package-choices input{width:90px}.bpl-package-choices strong{display:flex;align-items:center;min-height:42px;color:#243140}.bpl-add-another{margin-top:10px!important;width:100%;border:1px solid var(--bpl-primary)!important;color:var(--bpl-primary)!important;background:#fff!important}.bpl-add-another:hover{background:#f4f8fb!important}
@media(max-width:700px){.bpl-package-choices{grid-column:1;display:grid;grid-template-columns:1fr 110px;gap:10px}.bpl-package-choices select,.bpl-package-choices input{width:100%!important}}


/* Beta 9.2 - polished package actions, radio handedness, modal and contact footer */
.bpl-package-primary-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:2px}.bpl-package-primary-actions .button{min-height:50px!important;padding:0 24px!important;border-radius:var(--bpl-button-radius)!important;font-weight:800!important}.bpl-package-add{background:var(--bpl-primary)!important;border-color:var(--bpl-primary)!important;color:#fff!important}.bpl-package-another{background:#fff!important;border:1px solid #d8dce5!important;color:var(--bpl-text)!important}.bpl-package-actions{align-items:center;gap:22px!important}.bpl-text-action{appearance:none;border:0!important;background:transparent!important;padding:5px 0!important;margin:0!important;color:#4d5965!important;font:inherit!important;font-weight:700!important;text-decoration:none!important;cursor:pointer}.bpl-text-action span{text-decoration:underline;text-underline-offset:3px}.bpl-text-action:hover{color:var(--bpl-primary)!important}.bpl-coming-soon{color:#9aa0aa;font-size:13px;font-weight:700}.bpl-coming-soon small{margin-left:5px;padding:3px 6px;border-radius:999px;background:#f0f1f4;font-size:9px;text-transform:uppercase}.bpl-package-choice>span{display:block;margin-bottom:8px;color:#43515d;font-size:12px;font-weight:800}.bpl-hand-radios{display:flex;gap:8px;flex-wrap:wrap}.bpl-hand-radios label{position:relative;cursor:pointer}.bpl-hand-radios input{position:absolute;opacity:0;pointer-events:none}.bpl-hand-radios label span{display:block;padding:10px 16px;border:1px solid #ccd4dc;border-radius:999px;background:#fff;color:#45515d;font-weight:700}.bpl-hand-radios input:checked+span{border-color:var(--bpl-primary);background:color-mix(in srgb,var(--bpl-primary) 9%,white);color:var(--bpl-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--bpl-primary) 13%,transparent)}.bpl-package-qty input{width:84px!important;height:42px!important;border:1px solid #ccd4dc!important;border-radius:10px!important;padding:0 10px!important}.bpl-package-modal[hidden]{display:none!important}.bpl-package-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:24px}.bpl-package-modal__backdrop{position:absolute;inset:0;background:rgba(18,24,33,.58);backdrop-filter:blur(3px)}.bpl-package-modal__dialog{position:relative;width:min(1100px,96vw);max-height:90vh;background:#fff;border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:hidden}.bpl-package-modal__scroll{max-height:90vh;overflow:auto;padding:24px}.bpl-package-modal__close{position:absolute;z-index:3;right:14px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:#f1f3f6;color:#27313d;font-size:28px;line-height:1;cursor:pointer}.bpl-package-modal .bpl-list{margin:0!important;box-shadow:none!important}.bpl-modal-open{overflow:hidden}.bpl-missing-school{margin:28px 0 0;padding:24px;border:1px solid #e1e5eb;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);text-align:center}.bpl-missing-school h3{margin:5px 0 6px!important;font-size:22px!important}.bpl-missing-school p{margin:0 auto 16px!important;color:#68737e}.bpl-missing-school__actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.bpl-missing-school__actions .button{margin:0!important}.bpl-whatsapp{background:#25D366!important;border-color:#25D366!important;color:#fff!important}.bpl-contact-email{font-weight:700}.bpl-global-footer{display:flex!important;flex-direction:column;align-items:center;gap:10px;padding:28px 24px!important}.bpl-global-footer>strong{font-size:17px;color:var(--bpl-text)}.bpl-global-footer__links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.bpl-global-footer__links a{color:#4e5965!important;font-weight:700;text-decoration:none!important}.bpl-global-footer__links a:hover{color:var(--bpl-primary)!important}.bpl-global-footer small{color:#858b94}
@media(max-width:720px){.bpl-package-primary-actions{display:grid;grid-template-columns:1fr}.bpl-package-primary-actions .button{width:100%!important}.bpl-package-actions{gap:14px!important;align-items:flex-start}.bpl-package-actions>*{font-size:12px!important}.bpl-package-modal{padding:0;align-items:end}.bpl-package-modal__dialog{width:100%;max-height:92vh;border-radius:20px 20px 0 0}.bpl-package-modal__scroll{padding:18px 12px 28px;max-height:92vh}.bpl-missing-school{padding:20px 15px}.bpl-missing-school__actions{display:grid}.bpl-missing-school__actions .button{width:100%!important}.bpl-global-footer__links{flex-direction:column;gap:8px}}

/* Beta 9.3 - premium compact package summary */
.bpl-package-card--summary{display:block!important;max-width:980px;margin:28px auto!important;padding:0!important;overflow:hidden;border:1px solid #e2e5ec!important;border-radius:20px!important;background:#fff;box-shadow:0 16px 44px rgba(27,31,44,.08)!important}.bpl-package-topline{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:24px 26px 16px}.bpl-package-topline h2{margin:4px 0!important;font-size:27px!important;color:var(--bpl-text)}.bpl-package-topline p{margin:0!important;color:#737986}.bpl-package-price{flex:0 0 auto;min-width:180px;padding:13px 16px;border:1px solid #dfe4eb;border-radius:14px;background:#fafbfc;text-align:left}.bpl-package-price span,.bpl-package-price small{display:block;color:#777f8b;font-size:11px}.bpl-package-price strong{display:block;margin:2px 0;font-size:27px;line-height:1.1;color:var(--bpl-success)}.bpl-package-meta{display:flex;gap:20px;flex-wrap:wrap;padding:0 26px 17px;color:#68717d;font-size:12px}.bpl-package-actions{display:flex!important;gap:24px!important;padding:14px 26px!important;border-top:1px solid #edf0f4!important;border-bottom:1px solid #edf0f4!important;background:#fcfcfd}.bpl-package-actions .bpl-text-action,.bpl-package-actions .bpl-coming-soon{font-size:12px!important}.bpl-package-order{padding:20px 26px 24px}.bpl-package-options{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.bpl-option-group{min-width:0;margin:0;padding:0;border:0}.bpl-option-group legend{width:100%;margin:0 0 9px;padding:0;color:#404957;font-size:12px;font-weight:800}.bpl-option-group legend em{margin-left:5px;color:#9299a3;font-size:10px;font-style:normal;font-weight:600}.bpl-segmented,.bpl-sticker-toggle{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #d8dde5;border-radius:12px;background:#f4f6f8}.bpl-segmented label,.bpl-sticker-toggle label{position:relative;margin:0!important;cursor:pointer}.bpl-segmented input,.bpl-sticker-toggle input{position:absolute!important;opacity:0!important;pointer-events:none}.bpl-segmented label span,.bpl-sticker-toggle label span{display:flex;min-height:48px;align-items:center;justify-content:center;padding:8px 12px;border-radius:9px;color:#65707b;font-size:12px;font-weight:700;text-align:center}.bpl-segmented label span{flex-direction:column;gap:1px}.bpl-segmented label small{font-size:9px;font-weight:500;color:#8b939c}.bpl-segmented input:checked+span,.bpl-sticker-toggle input:checked+span{background:#fff;color:var(--bpl-primary);box-shadow:0 2px 8px rgba(26,31,43,.10)}.bpl-segmented input:checked+span small{color:#697481}.bpl-fixed-choice{min-height:54px;display:flex;align-items:center;padding:0 14px;border:1px solid #d8dde5;border-radius:12px;background:#f8fafb;font-weight:700}.bpl-child-name{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.bpl-child-name[hidden]{display:none!important}.bpl-child-name label{display:block!important;color:#68717d;font-size:10px;font-weight:700}.bpl-child-name input{display:block;width:100%!important;height:42px!important;margin-top:5px!important;padding:0 11px!important;border:1px solid #d8dde5!important;border-radius:10px!important;background:#fff!important}.bpl-package-primary-actions{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px!important;margin-top:20px!important}.bpl-package-primary-actions .button{width:100%!important;min-height:50px!important;margin:0!important}.bpl-package-another{border-color:var(--bpl-primary)!important;color:var(--bpl-primary)!important}.bpl-package-qty{display:none!important}
@media(max-width:720px){.bpl-package-topline{display:block;padding:20px 18px 12px}.bpl-package-price{margin-top:14px;min-width:0}.bpl-package-meta{padding:0 18px 14px;gap:10px}.bpl-package-actions{padding:12px 18px!important;gap:15px!important;overflow-x:auto;flex-wrap:nowrap!important}.bpl-package-actions>*{white-space:nowrap}.bpl-package-order{padding:17px 18px 20px}.bpl-package-options{grid-template-columns:1fr}.bpl-child-name{grid-template-columns:1fr 1fr}.bpl-package-primary-actions{grid-template-columns:1fr!important}.bpl-package-topline h2{font-size:23px!important}}

/* Beta 9.4 — premium school package summary */
.bpl-package-card--summary{max-width:1040px!important;border-radius:24px!important;box-shadow:0 18px 55px rgba(31,39,55,.09)!important}
.bpl-package-topline{align-items:flex-start!important;padding:30px 32px 20px!important}
.bpl-package-topline .bpl-kicker{font-size:12px!important;letter-spacing:.12em!important}
.bpl-package-topline h2{font-size:32px!important;line-height:1.1!important;margin:8px 0 10px!important}
.bpl-package-topline p{font-size:15px!important;color:#687384!important}
.bpl-package-price{min-width:205px!important;padding:16px 18px!important;border-radius:16px!important;background:#f8fafc!important}
.bpl-package-price>span{font-size:12px!important;font-weight:700!important;color:#7a8492!important;margin-bottom:5px!important}
.bpl-package-price strong{display:flex!important;align-items:baseline!important;gap:5px!important;white-space:nowrap!important;font-size:30px!important;line-height:1!important;color:var(--bpl-text)!important}
.bpl-package-price strong .woocommerce-Price-amount,.bpl-package-price strong .woocommerce-Price-currencySymbol{display:inline!important;white-space:nowrap!important}
.bpl-package-meta{padding:0 32px 22px!important;font-size:14px!important;gap:26px!important;color:#5e6977!important}
.bpl-package-actions{padding:17px 32px!important;gap:30px!important;background:#fbfcfe!important}
.bpl-package-actions .bpl-text-action,.bpl-package-actions .bpl-coming-soon{font-size:14px!important}
.bpl-package-order{padding:26px 32px 30px!important}
.bpl-package-options{display:grid!important;grid-template-columns:1fr 1fr!important;gap:22px!important;align-items:start!important}
.bpl-option-group{padding:18px!important;border:1px solid #e1e6ed!important;border-radius:16px!important;background:#fafbfc!important}
.bpl-option-group legend{float:left!important;width:100%!important;margin:0 0 12px!important;font-size:14px!important;line-height:1.3!important;color:#303b49!important}
.bpl-option-group legend+*{clear:both!important}
.bpl-segmented,.bpl-sticker-toggle{height:58px!important;padding:4px!important;border:1px solid #d8dee7!important;border-radius:13px!important;background:#f0f3f6!important}
.bpl-segmented label span,.bpl-sticker-toggle label span{height:48px!important;min-height:48px!important;border:1px solid transparent!important;border-radius:10px!important;font-size:14px!important;font-weight:800!important;color:#596574!important}
.bpl-segmented label small{display:none!important}
.bpl-segmented input:checked+span,.bpl-sticker-toggle input:checked+span{border-color:color-mix(in srgb,var(--bpl-primary) 25%,#d8dee7)!important;background:#fff!important;color:var(--bpl-primary)!important;box-shadow:0 3px 10px rgba(30,40,60,.09)!important}
.bpl-child-name{grid-column:1/-1!important;margin:14px 0 0!important;padding-top:14px!important;border-top:1px solid #e4e8ee!important}
.bpl-child-name label{font-size:12px!important;color:#4f5b69!important}
.bpl-child-name input{height:46px!important;font-size:14px!important}
.bpl-package-primary-actions{margin-top:24px!important;gap:12px!important}
.bpl-package-primary-actions .button{min-height:56px!important;font-size:15px!important}
.bpl-about{max-width:1120px;margin:32px auto 60px;padding:0 24px}.bpl-about__hero{padding:58px 54px;border-radius:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--bpl-primary) 9%,white),#fff);border:1px solid #e4e8ef}.bpl-about__hero h1{margin:8px 0 12px!important;font-size:clamp(36px,5vw,58px)!important;line-height:1.02!important;color:var(--bpl-text)}.bpl-about__hero p{max-width:760px;margin:0!important;font-size:20px!important;line-height:1.55!important;color:#5e6978}.bpl-about__body{max-width:820px;margin:42px auto;font-size:17px;line-height:1.8;color:#4d5866}.bpl-about__body h2,.bpl-about__body h3{color:var(--bpl-text)}.bpl-about__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bpl-about__trust>div{padding:24px;border:1px solid #e3e7ed;border-radius:18px;background:#fff}.bpl-about__trust strong{display:block;margin-bottom:7px;font-size:18px;color:var(--bpl-primary)}.bpl-about__trust span{font-size:14px;line-height:1.55;color:#687381}
@media(max-width:720px){.bpl-package-topline{padding:22px 20px 14px!important}.bpl-package-topline h2{font-size:27px!important}.bpl-package-price{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;min-width:0!important;margin-top:18px!important}.bpl-package-price>span{margin:0!important}.bpl-package-price strong{font-size:25px!important}.bpl-package-meta{padding:0 20px 16px!important;font-size:13px!important}.bpl-package-actions{padding:14px 20px!important}.bpl-package-order{padding:20px!important}.bpl-package-options{grid-template-columns:1fr!important;gap:14px!important}.bpl-option-group{padding:15px!important}.bpl-child-name{grid-template-columns:1fr!important}.bpl-about{padding:0 16px}.bpl-about__hero{padding:34px 24px}.bpl-about__hero p{font-size:17px!important}.bpl-about__trust{grid-template-columns:1fr}}

/* Beta 9.5 - compact package summary, mobile-safe choices and dark footer */
.bpl-package-card--summary{max-width:1180px;margin:24px auto;border:1px solid #dfe4eb;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 14px 40px rgba(24,33,45,.06);color:var(--bpl-text)}
.bpl-package-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 30px 22px}.bpl-package-heading h2{margin:5px 0 5px!important;font-size:28px!important;line-height:1.15}.bpl-package-heading p{margin:0!important;color:#697483}.bpl-package-price{min-width:190px;text-align:right}.bpl-package-price>span{display:block;font-size:12px;font-weight:700;color:#7a8491}.bpl-package-price strong{display:block;margin-top:3px;font-size:26px;line-height:1.15;color:var(--bpl-text);white-space:nowrap}.bpl-package-price strong .woocommerce-Price-currencySymbol{margin-right:4px}.bpl-package-price small{display:block;margin-top:4px;color:#77818d}
.bpl-package-order{border-top:1px solid #e8ebef}.bpl-package-summary-table{margin:0}.bpl-package-summary-row{display:grid;grid-template-columns:minmax(180px,32%) 1fr;align-items:center;min-height:58px;padding:10px 30px;border-bottom:1px solid #edf0f3}.bpl-package-summary-row>span{color:#697483;font-size:14px;font-weight:650}.bpl-package-summary-row>span small{margin-left:6px;color:#9aa2ac;font-size:11px}.bpl-package-summary-row>strong,.bpl-package-summary-row>div>strong{color:#242a33;font-size:15px}.bpl-package-summary-row--choice>div{display:flex;justify-content:flex-end}
.bpl-hand-inline,.bpl-sticker-inline{display:grid;grid-template-columns:1fr 1fr;width:min(330px,100%);padding:4px;border:1px solid #d8dee6;border-radius:11px;background:#f4f6f8}.bpl-hand-inline label,.bpl-sticker-inline label{position:relative;margin:0!important;cursor:pointer}.bpl-hand-inline input,.bpl-sticker-inline input{position:absolute;opacity:0;pointer-events:none}.bpl-hand-inline span,.bpl-sticker-inline span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 16px;border-radius:8px;color:#65717e;font-size:14px;font-weight:750}.bpl-hand-inline input:checked+span,.bpl-sticker-inline input:checked+span{background:#fff;color:var(--bpl-primary);box-shadow:0 2px 8px rgba(25,34,45,.10)}
.bpl-package-name-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 30px 18px;border-bottom:1px solid #edf0f3;background:#fafbfc}.bpl-package-name-row[hidden]{display:none!important}.bpl-package-name-row label{display:grid;gap:6px;margin:0!important}.bpl-package-name-row label>span{font-size:12px;font-weight:700;color:#697483}.bpl-package-name-row input{width:100%!important;min-height:44px!important;margin:0!important;border:1px solid #d8dee6!important;border-radius:9px!important;background:#fff!important;padding:0 12px!important}
.bpl-package-actions{display:flex!important;grid-column:auto!important;align-items:center!important;gap:8px!important;padding:16px 30px!important;border-top:0!important;border-bottom:1px solid #e8ebef!important;background:#fafbfc}.bpl-package-tool{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;margin:0!important;padding:7px 13px!important;border:1px solid #d8dee6!important;border-radius:9px!important;background:#fff!important;color:#374151!important;text-decoration:none!important;font:inherit!important;font-size:13px!important;font-weight:750!important;cursor:pointer}.bpl-package-tool:hover{border-color:#aeb8c5!important;color:var(--bpl-primary)!important}.bpl-package-tool.is-disabled{color:#9ba3ad!important;background:#f3f4f6!important;cursor:not-allowed}.bpl-package-tool small{margin-left:5px;font-size:8px;text-transform:uppercase}.bpl-package-primary-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:18px 30px 24px!important;margin:0!important}.bpl-package-primary-actions .button{width:100%!important;margin:0!important}
.bpl-global-footer{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:32px 0 0!important;padding:32px 24px!important;border:0!important;background:var(--bpl-header,#111)!important;color:#fff!important}.bpl-global-footer>strong{color:#fff!important}.bpl-global-footer__links a{color:#f2f2f2!important}.bpl-global-footer__links a:hover{color:#fff!important}.bpl-global-footer small{color:#b9bdc5!important}
@media(max-width:720px){.bpl-package-card--summary{margin:16px 0;border-radius:15px}.bpl-package-heading{display:block;padding:20px 18px 16px}.bpl-package-heading h2{font-size:24px!important}.bpl-package-price{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;margin-top:17px;padding-top:14px;border-top:1px solid #edf0f3;text-align:left}.bpl-package-price>span{font-size:13px}.bpl-package-price strong{margin:0;font-size:22px}.bpl-package-price small{display:none}.bpl-package-summary-row{grid-template-columns:1fr;gap:7px;min-height:0;padding:13px 18px}.bpl-package-summary-row--choice>div{justify-content:stretch}.bpl-hand-inline,.bpl-sticker-inline{width:100%}.bpl-package-name-row{grid-template-columns:1fr;padding:14px 18px}.bpl-package-actions{display:grid!important;grid-template-columns:1fr 1fr!important;padding:14px 18px!important}.bpl-package-tool{width:100%!important}.bpl-package-tool.is-disabled{grid-column:1/-1;grid-row:2}.bpl-package-primary-actions{grid-template-columns:1fr!important;padding:16px 18px 20px!important}.bpl-global-footer{padding:28px 18px!important}}


/* Beta 9.6 compact package table */
.bpl-package-card--summary{max-width:820px!important;margin:22px auto!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(25,31,42,.07)!important}
.bpl-package-compact-head{padding:20px 24px 14px;background:#fff}.bpl-package-compact-head h2{margin:3px 0 0!important;font-size:24px!important;line-height:1.15!important}.bpl-package-order{padding:0!important;border-top:1px solid #e8ebef!important}.bpl-package-summary-table{margin:0!important}.bpl-package-summary-row{display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;min-height:0!important;padding:11px 24px!important;border-bottom:1px solid #edf0f3!important}.bpl-package-summary-row>span{font-size:13px!important;color:#687384!important;font-weight:700!important}.bpl-package-summary-row>strong,.bpl-package-summary-row>div>strong{font-size:14px!important;color:#202733!important}.bpl-package-summary-row--price>strong{font-size:18px!important;white-space:nowrap;color:var(--bpl-text)!important}.bpl-package-summary-row--price>small{grid-column:2;color:#8a929e;font-size:10px;margin-top:-12px}.bpl-package-summary-row--choice>div{justify-content:flex-start!important}.bpl-hand-inline,.bpl-sticker-inline{display:inline-grid!important;grid-template-columns:1fr 1fr!important;width:220px!important;max-width:100%!important;padding:3px!important;border:1px solid #dce2e9!important;border-radius:10px!important;background:#f4f6f8!important}.bpl-hand-inline label,.bpl-sticker-inline label{margin:0!important}.bpl-hand-inline label span,.bpl-sticker-inline label span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:5px 12px!important;border-radius:7px!important;font-size:12px!important;font-weight:750!important;color:#687384!important}.bpl-hand-inline input:checked+span,.bpl-sticker-inline input:checked+span{background:#fff!important;color:var(--bpl-primary)!important;box-shadow:0 1px 5px rgba(24,31,42,.12)!important}.bpl-package-name-row{display:grid!important;grid-template-columns:190px 1fr 1fr!important;gap:10px!important;padding:11px 24px!important;border-bottom:1px solid #edf0f3!important}.bpl-package-name-row:before{content:'Sticker name';align-self:center;color:#687384;font-size:13px;font-weight:700}.bpl-package-name-row[hidden]{display:none!important}.bpl-package-name-row label{font-size:10px!important}.bpl-package-name-row input{height:36px!important;margin-top:3px!important}.bpl-package-summary-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 24px;background:#fafbfc}.bpl-package-tool{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:6px 11px!important;border:1px solid #dbe1e8!important;border-radius:8px!important;background:#fff!important;color:#344050!important;font-size:11px!important;font-weight:750!important;text-decoration:none!important}.bpl-package-tool.is-disabled{background:#f5f6f8!important;color:#9aa1aa!important}.bpl-package-tool small{margin-left:5px;font-size:8px!important}.bpl-package-primary-actions{display:grid!important;grid-template-columns:1.25fr 1fr!important;gap:9px!important;margin:0!important;padding:14px 24px 18px!important;border-top:1px solid #edf0f3!important}.bpl-package-primary-actions .button{min-height:44px!important;font-size:13px!important}
@media(max-width:720px){.bpl-package-card--summary{margin:14px 0!important;border-radius:13px!important}.bpl-package-compact-head{padding:17px 16px 11px}.bpl-package-compact-head h2{font-size:22px!important}.bpl-package-summary-row{grid-template-columns:112px minmax(0,1fr)!important;gap:10px!important;padding:10px 16px!important}.bpl-package-summary-row>span{font-size:11px!important}.bpl-package-summary-row>strong,.bpl-package-summary-row>div>strong{font-size:13px!important}.bpl-hand-inline,.bpl-sticker-inline{width:100%!important}.bpl-hand-inline label span,.bpl-sticker-inline label span{min-height:32px!important;padding:4px 7px!important;font-size:11px!important}.bpl-package-summary-row--price>strong{font-size:16px!important}.bpl-package-summary-row--price>small{grid-column:2;margin-top:-7px}.bpl-package-name-row{grid-template-columns:1fr!important;padding:10px 16px!important}.bpl-package-name-row:before{content:'Sticker name';font-size:11px}.bpl-package-summary-tools{display:grid!important;grid-template-columns:1fr 1fr!important;padding:10px 16px!important}.bpl-package-summary-tools .is-disabled{grid-column:1/-1}.bpl-package-primary-actions{grid-template-columns:1fr!important;padding:12px 16px 16px!important}}

/* Beta 9.7 — dedicated About storefront */
body.bpl-standalone-storefront{margin:0!important;background:#fff!important;color:var(--bpl-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.bpl-standalone-storefront #wpadminbar~.bpl-about-site{padding-top:0}.bpl-about-site{min-height:100vh;display:flex;flex-direction:column;background:#fff}.bpl-about-main{flex:1;width:100%;padding:0!important;margin:0!important}.bpl-about-page .bpl-shell-wrap{position:relative;z-index:20}.bpl-about{max-width:1180px;margin:0 auto;padding:56px 28px 72px}.bpl-about__hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:48px;align-items:center;padding:72px 68px;border:1px solid #e4e8ef;border-radius:30px;background:linear-gradient(135deg,color-mix(in srgb,var(--bpl-primary) 11%,white),#fff 62%);overflow:hidden}.bpl-about__hero-copy{max-width:760px}.bpl-about__hero h1{margin:10px 0 18px!important;font-size:clamp(44px,6vw,72px)!important;letter-spacing:-.045em;line-height:.98!important;color:var(--bpl-text)!important}.bpl-about__hero p{max-width:690px;margin:0!important;font-size:21px!important;line-height:1.55!important;color:#596678!important}.bpl-about__hero-actions,.bpl-about__cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.bpl-about__primary,.bpl-about__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:12px;font-weight:750;text-decoration:none!important}.bpl-about__primary{background:var(--bpl-primary);color:#fff!important}.bpl-about__secondary{border:1px solid #d6dce5;background:#fff;color:var(--bpl-text)!important}.bpl-about__hero-mark{justify-self:end;width:210px;height:210px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bpl-header-bg,#15191f);color:#fff;box-shadow:0 24px 60px rgba(20,25,31,.14)}.bpl-about__hero-mark span{font-size:28px;color:var(--bpl-primary)}.bpl-about__hero-mark strong{margin-top:8px;font-size:25px;line-height:1.18;text-align:center}.bpl-about__story{display:grid;grid-template-columns:220px minmax(0,760px);gap:60px;padding:72px 34px 52px}.bpl-about__body{max-width:none;margin:0;font-size:18px;line-height:1.8;color:#4d5866}.bpl-about__body>:first-child{margin-top:0}.bpl-about__body h2{font-size:32px!important;line-height:1.2!important;letter-spacing:-.025em;margin-bottom:20px!important}.bpl-about__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 64px}.bpl-about__trust>div{padding:30px;border:1px solid #e3e7ed;border-radius:20px;background:#fff}.bpl-about__number{display:block!important;margin-bottom:24px;color:#a0a9b6!important;font-size:12px!important;font-weight:800;letter-spacing:.12em}.bpl-about__trust strong{display:block;margin-bottom:8px;font-size:21px;color:var(--bpl-primary)}.bpl-about__trust>div>span:last-child{font-size:15px;line-height:1.6;color:#687381}.bpl-about__cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:44px 48px;border-radius:24px;background:var(--bpl-header-bg,#15191f);color:#fff}.bpl-about__cta .bpl-kicker{color:color-mix(in srgb,var(--bpl-primary) 70%,white)}.bpl-about__cta h2{margin:6px 0 8px!important;color:#fff!important;font-size:34px!important}.bpl-about__cta p{margin:0!important;color:#b8c0cb!important}.bpl-about__cta-actions{margin:0;flex-shrink:0}.bpl-about__cta .bpl-about__secondary{background:transparent;color:#fff!important;border-color:#58616d}.bpl-about-page .bpl-global-footer{margin-top:0!important}
@media(max-width:800px){.bpl-about{padding:24px 16px 44px}.bpl-about__hero{grid-template-columns:1fr;padding:40px 24px;gap:28px;border-radius:22px}.bpl-about__hero h1{font-size:44px!important}.bpl-about__hero p{font-size:17px!important}.bpl-about__hero-mark{justify-self:start;width:140px;height:140px}.bpl-about__hero-mark strong{font-size:18px}.bpl-about__story{grid-template-columns:1fr;gap:16px;padding:44px 8px 34px}.bpl-about__body{font-size:16px}.bpl-about__body h2{font-size:26px!important}.bpl-about__trust{grid-template-columns:1fr;margin-bottom:36px}.bpl-about__trust>div{padding:22px}.bpl-about__cta{align-items:flex-start;flex-direction:column;padding:32px 24px}.bpl-about__cta h2{font-size:28px!important}.bpl-about__cta-actions,.bpl-about__hero-actions{width:100%}.bpl-about__primary,.bpl-about__secondary{width:100%}}

/* =========================================================
   Beta 9.8 — Spectrum polish: mobile nav, help, footer, About
========================================================= */
/* Mobile navigation: intentionally balanced, never pushed to the right. */
@media(max-width:700px){
  body.bpl-commerce-page .bpl-shell{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:calc(100% - 16px)!important;padding:10px 12px 8px!important;gap:9px!important}
  body.bpl-commerce-page .bpl-shell__brand{align-self:flex-start!important;min-height:44px!important;padding:0!important}
  body.bpl-commerce-page .bpl-shell__logo-img{max-width:88px!important;max-height:44px!important}
  body.bpl-commerce-page .bpl-shell__search{order:2;width:100%!important}
  body.bpl-commerce-page .bpl-shell__nav{order:3;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;gap:2px!important;justify-self:stretch!important}
  body.bpl-commerce-page .bpl-shell__nav>a,body.bpl-commerce-page .bpl-shell__nav>a:nth-child(n){display:flex!important;justify-content:center!important;min-width:0!important;padding:0 3px!important;font-size:11px!important;text-align:center!important}
  body.bpl-commerce-page .bpl-shell__nav>a.is-active:after{left:12%!important;right:12%!important}
}

/* Missing-school panel: a conversion block, not an afterthought. */
.bpl-missing-school{position:relative;display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;width:min(var(--bpl-shell-width,1400px),calc(100% - 48px))!important;margin:32px auto!important;padding:28px 32px!important;overflow:hidden;border:1px solid rgba(123,46,255,.15)!important;border-radius:22px!important;background:linear-gradient(115deg,#fff7f1 0%,#fbf7ff 46%,#f2f6ff 100%)!important;box-shadow:0 14px 40px rgba(54,35,91,.07)!important;text-align:left!important}
.bpl-missing-school:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--bpl-gradient)}
.bpl-missing-school__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--bpl-gradient);color:#fff;font-size:34px;font-weight:300;box-shadow:0 10px 24px rgba(123,46,255,.2)}
.bpl-missing-school .bpl-kicker{font-size:11px!important;letter-spacing:.12em!important}.bpl-missing-school h3{margin:3px 0 5px!important;font-size:24px!important;line-height:1.15!important;color:var(--bpl-text)!important}.bpl-missing-school p{margin:0!important;color:#697281!important;font-size:14px!important}
.bpl-missing-school__actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.bpl-missing-school__actions>a{text-decoration:none!important}
.bpl-missing-school .bpl-whatsapp,.bpl-missing-school .bpl-send-list{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:190px!important;min-height:58px!important;padding:9px 16px!important;border-radius:13px!important}
.bpl-missing-school .bpl-whatsapp{background:#20c96b!important;color:#fff!important;box-shadow:0 8px 20px rgba(32,201,107,.2)!important}.bpl-missing-school .bpl-send-list{border:1px solid rgba(123,46,255,.2)!important;background:#fff!important;color:var(--bpl-text)!important}.bpl-missing-school__actions b{font-size:14px!important}.bpl-missing-school__actions span{margin-top:2px;font-size:10px!important;opacity:.8}.bpl-missing-school .bpl-contact-email{width:100%;text-align:right;color:#596475!important;font-size:12px!important}
@media(max-width:760px){.bpl-missing-school{grid-template-columns:52px minmax(0,1fr)!important;gap:14px!important;width:calc(100% - 24px)!important;margin:22px auto!important;padding:20px 18px!important}.bpl-missing-school__icon{width:50px;height:50px;border-radius:14px;font-size:26px}.bpl-missing-school h3{font-size:20px!important}.bpl-missing-school__actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr!important;width:100%!important}.bpl-missing-school .bpl-whatsapp,.bpl-missing-school .bpl-send-list{width:100%!important;min-width:0!important}.bpl-missing-school .bpl-contact-email{text-align:center!important}}

/* Spectrum footer */
.bpl-global-footer{position:relative!important;width:100%!important;margin:38px 0 0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#101014!important;color:#fff!important;text-align:left!important}
.bpl-footer-spectrum{height:6px;background:var(--bpl-gradient)}
.bpl-footer-inner{display:grid;grid-template-columns:minmax(280px,1.5fr) .7fr 1fr;gap:64px;width:min(var(--bpl-shell-width,1400px),calc(100% - 64px));margin:0 auto;padding:52px 0 42px}.bpl-footer-brand strong{display:block;font-size:27px;letter-spacing:-.02em}.bpl-footer-brand p{max-width:440px;margin:12px 0 0;color:#aeb2bd;font-size:14px;line-height:1.7}.bpl-footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.bpl-footer-group>span{margin-bottom:5px;color:#858b98;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.14em}.bpl-footer-group a{color:#f6f6f8!important;text-decoration:none!important;font-size:13px!important;font-weight:650!important}.bpl-footer-group a:hover{color:#fff!important;text-decoration:underline!important}.bpl-footer-group .bpl-footer-whatsapp{display:inline-flex!important;padding:8px 12px!important;border-radius:9px!important;background:#20c96b!important;color:#071a10!important;font-weight:850!important;text-decoration:none!important}
.bpl-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(var(--bpl-shell-width,1400px),calc(100% - 64px));margin:0 auto;padding:18px 0 24px;border-top:1px solid rgba(255,255,255,.09);color:#7f8590}.bpl-footer-bottom small{font-size:11px}.bpl-footer-bottom span{font-size:11px;font-weight:800;background:var(--bpl-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:720px){.bpl-footer-inner{grid-template-columns:1fr;gap:28px;width:calc(100% - 40px);padding:38px 0 30px}.bpl-footer-brand strong{font-size:24px}.bpl-footer-bottom{width:calc(100% - 40px);align-items:flex-start;flex-direction:column;padding-bottom:26px}.bpl-footer-group{gap:8px}}

/* About page — same storefront width, but much more Spectrum. */
.bpl-about{width:min(var(--bpl-shell-width,1400px),calc(100% - 48px))!important;max-width:none!important;margin:0 auto!important;padding:30px 0 68px!important}
.bpl-about__hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;min-height:480px;padding:68px 72px!important;border:1px solid rgba(123,46,255,.12)!important;border-radius:26px!important;background:linear-gradient(125deg,#fff8f3 0%,#fbf7ff 48%,#f2f6ff 100%)!important;box-shadow:0 18px 50px rgba(42,34,65,.06)!important}.bpl-about__hero:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--bpl-gradient);z-index:3}.bpl-about__hero-copy{position:relative;z-index:2}.bpl-about__hero h1{font-size:clamp(52px,6vw,88px)!important;max-width:760px}.bpl-about__hero p{font-size:20px!important;max-width:760px!important}.bpl-about__primary{gap:12px;background:var(--bpl-gradient)!important;box-shadow:0 10px 24px rgba(123,46,255,.18)!important}.bpl-about__wa{border-color:rgba(32,201,107,.35)!important;color:#0c8e4a!important}.bpl-about__spectrum-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;z-index:0}.bpl-about__spectrum-orb--one{width:280px;height:280px;right:8%;top:-120px;background:radial-gradient(circle,rgba(255,107,0,.28),rgba(123,46,255,.08) 55%,transparent 72%)}.bpl-about__spectrum-orb--two{width:300px;height:300px;right:-90px;bottom:-120px;background:radial-gradient(circle,rgba(40,107,255,.24),rgba(123,46,255,.08) 55%,transparent 72%)}
.bpl-about__visual{position:relative;z-index:2;justify-self:center;width:300px;height:300px;display:grid;place-items:center}.bpl-about__visual-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,var(--bpl-accent),var(--bpl-primary),var(--bpl-secondary),var(--bpl-accent));box-shadow:0 24px 60px rgba(74,48,135,.15)}.bpl-about__visual-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#121218}.bpl-about__visual-card{position:relative;z-index:2;text-align:center;color:#fff}.bpl-about__visual-card>span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 13px;border-radius:50%;background:var(--bpl-gradient);font-size:18px}.bpl-about__visual-card strong{display:block;font-size:29px;line-height:1.08}.bpl-about__visual-card small{display:block;margin-top:10px;color:#aaaeba;font-size:12px}
.bpl-about__story{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)!important;max-width:1260px;margin:0 auto;padding:72px 36px 48px!important}.bpl-about__story h2{margin:8px 0 0!important;font-size:36px!important;line-height:1.1!important;letter-spacing:-.03em}.bpl-about__body{font-size:17px!important;line-height:1.75!important}.bpl-about__trust{max-width:1260px;margin:0 auto 54px!important}.bpl-about__trust>div{position:relative;overflow:hidden;padding:28px!important;border-radius:18px!important}.bpl-about__trust>div:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--bpl-gradient)}.bpl-about__number{margin-bottom:18px!important}.bpl-about__cta{max-width:1260px;margin:0 auto!important;position:relative;overflow:hidden;background:#111116!important}.bpl-about__cta:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--bpl-gradient)}
@media(max-width:800px){.bpl-about{width:calc(100% - 24px)!important;padding:12px 0 38px!important}.bpl-about__hero{grid-template-columns:1fr!important;min-height:0;padding:38px 24px!important;gap:30px!important;border-radius:20px!important}.bpl-about__hero h1{font-size:46px!important}.bpl-about__hero p{font-size:16px!important;line-height:1.55!important}.bpl-about__visual{width:190px;height:190px;justify-self:center}.bpl-about__visual-card strong{font-size:21px}.bpl-about__story{grid-template-columns:1fr!important;padding:42px 12px 30px!important}.bpl-about__story h2{font-size:29px!important}.bpl-about__trust{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:28px!important}.bpl-about__cta{border-radius:20px!important;padding:30px 24px!important}.bpl-about__cta h2{font-size:27px!important}}


/* =========================================================
   Beta 9.9 — geometry + conversion polish
   One storefront grid: shell, School Lists, About Us and CTA.
========================================================= */
:root{--bpl-store-width:1400px;--bpl-store-gutter:16px}
body.bpl-commerce-page .bpl-shell,
body.bpl-commerce-page .bpl-school-finder,
body.bpl-about-page .bpl-shell,
body.bpl-about-page .bpl-about{
  width:min(var(--bpl-store-width),calc(100% - (var(--bpl-store-gutter) * 2)))!important;
  max-width:var(--bpl-store-width)!important;
  margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
body.bpl-about-page .bpl-about-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.bpl-about-page .bpl-about{padding:12px 0 64px!important}
body.bpl-about-page .bpl-about__hero{margin:0!important}

/* Missing list CTA: deliberately compact, obvious and useful. */
.bpl-missing-school{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:30px!important;
  width:100%!important;max-width:none!important;margin:26px 0 0!important;padding:25px 28px!important;
  border:1px solid rgba(123,46,255,.14)!important;border-radius:18px!important;
  background:linear-gradient(112deg,rgba(255,107,0,.055),rgba(123,46,255,.055) 48%,rgba(40,107,255,.055))!important;
  box-shadow:none!important;overflow:hidden!important;
}
.bpl-missing-school:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--bpl-gradient)}
.bpl-missing-school:after{content:"";position:absolute;width:190px;height:190px;right:-75px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(123,46,255,.12),transparent 68%);pointer-events:none}
.bpl-missing-school__copy{position:relative;z-index:1}.bpl-missing-school .bpl-kicker{color:var(--bpl-primary)!important;font-size:10px!important;font-weight:850!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.bpl-missing-school h3{margin:4px 0 4px!important;color:var(--bpl-text)!important;font-size:22px!important;line-height:1.18!important;letter-spacing:-.02em!important}.bpl-missing-school p{margin:0!important;color:#687281!important;font-size:13px!important;line-height:1.5!important}
.bpl-missing-school__actions{position:relative;z-index:1;display:flex!important;align-items:stretch!important;gap:10px!important;justify-content:flex-end!important;flex-wrap:nowrap!important}.bpl-missing-school__actions>a{min-width:190px!important;min-height:58px!important;padding:10px 16px!important;border-radius:12px!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.bpl-missing-school .bpl-whatsapp{background:var(--bpl-gradient)!important;color:#fff!important;box-shadow:0 9px 22px rgba(123,46,255,.16)!important}.bpl-missing-school .bpl-send-list{border:1px solid #d9dce5!important;background:#fff!important;color:var(--bpl-text)!important;box-shadow:none!important}.bpl-missing-school__actions b{font-size:13px!important;line-height:1.2!important}.bpl-missing-school__actions span{margin-top:4px!important;font-size:10px!important;opacity:.78!important}

/* About page rhythm matches School Lists outer edge and starts at the same visual distance from nav. */
.bpl-about__hero{min-height:440px!important;padding:58px 60px!important;border-radius:18px!important}
.bpl-about__story{padding-top:56px!important;padding-bottom:38px!important}.bpl-about__trust{margin-bottom:40px!important}.bpl-about__cta{border-radius:18px!important}

@media(max-width:760px){
  :root{--bpl-store-gutter:12px}
  body.bpl-about-page .bpl-about{padding-top:0!important}
  .bpl-missing-school{grid-template-columns:1fr!important;gap:16px!important;margin-top:20px!important;padding:20px 18px!important;border-radius:15px!important}
  .bpl-missing-school__actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:9px!important}
  .bpl-missing-school__actions>a{width:100%!important;min-width:0!important;min-height:54px!important}
  .bpl-about__hero{padding:34px 22px!important;border-radius:16px!important}
}

/* =========================================================
   Beta 10.0 — canonical storefront frame
   The navigation and every primary page surface share one grid.
========================================================= */
:root{
  --bpl-store-width:1400px;
  --bpl-store-gutter:16px;
  --bpl-frame-gap:12px;
  --bpl-frame-radius:18px;
  --bpl-frame-border:#dbe3e9;
  --bpl-frame-bg:#fff;
  --bpl-frame-shadow:0 9px 28px rgba(31,41,51,.055);
}
body.bpl-commerce-page .bpl-shell-wrap,
body.bpl-commerce-page .bpl-shell,
body.bpl-commerce-page .bpl-school-finder,
body.bpl-about-page .bpl-about,
body.bpl-commerce-page .woocommerce{
  width:min(var(--bpl-store-width),calc(100% - (var(--bpl-store-gutter) * 2)))!important;
  max-width:var(--bpl-store-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.bpl-commerce-page .bpl-shell-wrap{margin-top:4px!important;margin-bottom:var(--bpl-frame-gap)!important}
body.bpl-commerce-page .bpl-shell{width:100%!important;max-width:none!important;margin:0!important}

/* School Lists is the reference frame. */
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero{
  margin-top:0!important;
  margin-bottom:28px!important;
  border:1px solid var(--bpl-frame-border)!important;
  border-radius:var(--bpl-frame-radius)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
  box-shadow:var(--bpl-frame-shadow)!important;
}

/* About: the page itself is the frame; the Spectrum hero is content inside it. */
body.bpl-about-page .bpl-about{
  margin-top:0!important;
  padding:28px 28px 56px!important;
  border:1px solid var(--bpl-frame-border)!important;
  border-radius:var(--bpl-frame-radius)!important;
  background:var(--bpl-frame-bg)!important;
  box-shadow:var(--bpl-frame-shadow)!important;
  overflow:hidden!important;
}
body.bpl-about-page .bpl-about__hero{border-radius:15px!important}
body.bpl-about-page .bpl-about__story{padding-top:52px!important}
body.bpl-about-page .bpl-global-footer{margin-top:38px!important}

/* WooCommerce pages: one outer application frame, then cards inside it. */
body.woocommerce-account.bpl-commerce-page .woocommerce,
body.woocommerce-cart.bpl-commerce-page .woocommerce,
body.woocommerce-checkout.bpl-commerce-page .woocommerce,
body.woocommerce-order-received.bpl-commerce-page .woocommerce{
  margin-top:0!important;
  margin-bottom:0!important;
  padding:22px!important;
  min-height:300px;
  border:1px solid var(--bpl-frame-border)!important;
  border-radius:var(--bpl-frame-radius)!important;
  background:var(--bpl-frame-bg)!important;
  box-shadow:var(--bpl-frame-shadow)!important;
  overflow:hidden!important;
}
/* Do not let theme content wrappers create a second, wider visual grid. */
body.bpl-commerce-page #main-content,
body.bpl-commerce-page #main-content>.container,
body.bpl-commerce-page #main-content .container,
body.bpl-commerce-page .site-main,
body.bpl-commerce-page main.site-main,
body.bpl-commerce-page .content-area,
body.bpl-commerce-page .site-content{
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.woocommerce-account.bpl-commerce-page .woocommerce{padding:16px!important}
body.woocommerce-cart.bpl-commerce-page .woocommerce:has(.cart-empty){display:block!important;padding:22px!important}
body.woocommerce-cart.bpl-commerce-page .woocommerce .cart-empty{margin:0 0 18px!important;border-radius:12px!important}
body.woocommerce-cart.bpl-commerce-page .woocommerce .return-to-shop{margin:0!important}

@media(max-width:760px){
  :root{--bpl-store-gutter:8px;--bpl-frame-gap:8px;--bpl-frame-radius:14px}
  body.bpl-commerce-page .bpl-shell-wrap{margin-top:3px!important;margin-bottom:var(--bpl-frame-gap)!important}
  body.bpl-about-page .bpl-about{padding:10px 10px 32px!important;border-radius:var(--bpl-frame-radius)!important}
  body.bpl-about-page .bpl-about__hero{border-radius:12px!important;padding:30px 18px!important}
  body.bpl-about-page .bpl-about__story{padding:34px 8px 26px!important}
  body.bpl-about-page .bpl-about__trust{padding:0 0!important}
  body.bpl-about-page .bpl-about__cta{border-radius:12px!important}
  body.woocommerce-account.bpl-commerce-page .woocommerce,
  body.woocommerce-cart.bpl-commerce-page .woocommerce,
  body.woocommerce-checkout.bpl-commerce-page .woocommerce,
  body.woocommerce-order-received.bpl-commerce-page .woocommerce{padding:10px!important;border-radius:var(--bpl-frame-radius)!important;min-height:220px}
  body.bpl-school-list-page .bpl-school-finder.bpl-school-hero{border-radius:var(--bpl-frame-radius)!important}
}


/* =========================================================
   Beta 10.1 — one mathematical storefront grid
   Do not page-tune these widths: nav + primary surface use the same token.
========================================================= */
:root{--bpl-frame-width:1400px;--bpl-frame-gutter:16px;--bpl-frame-inline:min(var(--bpl-frame-width),calc(100vw - (var(--bpl-frame-gutter) * 2)))}
body.bpl-commerce-page .bpl-shell-wrap,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-about-page .bpl-about,
body.woocommerce-account.bpl-commerce-page .woocommerce,
body.woocommerce-cart.bpl-commerce-page .woocommerce,
body.woocommerce-checkout.bpl-commerce-page .woocommerce,
body.woocommerce-order-received.bpl-commerce-page .woocommerce{
  width:var(--bpl-frame-inline)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
body.bpl-commerce-page .bpl-shell-wrap{padding:0!important}
body.bpl-commerce-page .bpl-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
/* Theme wrappers are transport only; they must never create a competing horizontal grid. */
body.bpl-commerce-page #page-container,body.bpl-commerce-page #main-content,body.bpl-commerce-page #main-content>.container,
body.bpl-commerce-page #main-content .container,body.bpl-commerce-page .site-content,body.bpl-commerce-page .content-area,
body.bpl-commerce-page .site-main,body.bpl-commerce-page main.site-main{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}

/* Optional About hero artwork from Settings > Branding & About. */
body.bpl-about-page .bpl-about__hero.has-background-image{background-image:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.84) 48%,rgba(255,255,255,.30) 100%),var(--bpl-about-bg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body.bpl-about-page .bpl-about__hero.has-background-image .bpl-about__spectrum-orb{opacity:.28}
@media(max-width:760px){:root{--bpl-frame-gutter:8px}body.bpl-about-page .bpl-about__hero.has-background-image{background-image:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78)),var(--bpl-about-bg)!important;background-position:center!important}}

/* Beta 10.2 — About hero artwork is the visual; remove the legacy circle column. */
body.bpl-about-page .bpl-about__hero{grid-template-columns:1fr!important;}
body.bpl-about-page .bpl-about__hero.has-background-image{
 background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 36%,rgba(255,255,255,.30) 62%,rgba(255,255,255,.04) 100%),var(--bpl-about-bg)!important;
 background-position:center center!important;
 background-size:cover!important;
}
body.bpl-about-page .bpl-about__hero.has-background-image .bpl-about__hero-copy{max-width:58%;}
@media(max-width:800px){body.bpl-about-page .bpl-about__hero.has-background-image{background-image:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 58%,rgba(255,255,255,.55) 100%),var(--bpl-about-bg)!important;background-position:center center!important;}body.bpl-about-page .bpl-about__hero.has-background-image .bpl-about__hero-copy{max-width:100%;}}

/* Beta 10.3: A-Z school browser and Coming Soon state */
.bpl-school-az{margin-top:14px}.bpl-school-az__toggle{appearance:none;border:0;background:transparent;padding:4px 0;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.bpl-school-az__panel{margin-top:12px;padding:16px;border:1px solid var(--bpl-border,#e4e7eb);border-radius:14px;background:#fff}.bpl-school-az__letters{display:flex;gap:5px;flex-wrap:wrap}.bpl-school-az__letters button{min-width:30px;height:30px;padding:0 7px;border:1px solid var(--bpl-border,#dfe3e8);border-radius:8px;background:#fff;font-weight:700;cursor:pointer}.bpl-school-az__letters button:disabled{opacity:.28;cursor:default}.bpl-school-az__schools{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:14px}.bpl-school-az__school{text-align:left;border:1px solid var(--bpl-border,#e4e7eb);background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;font:inherit}.bpl-school-az__school:hover{box-shadow:0 3px 12px rgba(0,0,0,.08)}.bpl-school-az__empty{opacity:.7}.bpl-coming-soon{margin-top:24px;padding:28px;border:1px solid var(--bpl-border,#e4e7eb);border-radius:18px;background:#fff;text-align:center}.bpl-coming-soon h2{margin:6px 0 8px}.bpl-coming-soon p{margin:0 auto;max-width:620px}
@media(max-width:640px){.bpl-school-az__letters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.bpl-school-az__letters button{flex:0 0 32px}.bpl-school-az__schools{grid-template-columns:1fr}}

/* 10.3.4 package review cleanup */
.bpl-list--review.bpl-list--fixed-package .bpl-row--fixed-clean.bpl-row--no-prices{grid-template-columns:70px minmax(0,1fr)!important}
.bpl-list--review.bpl-list--fixed-package .bpl-row--fixed-clean:not(.bpl-row--no-prices){grid-template-columns:70px minmax(0,1fr) 105px 105px!important}
.bpl-list--review .bpl-school-description{display:block!important;margin-top:5px!important;color:#6d7882!important;font-size:11px!important;line-height:1.35!important;font-style:normal!important}
.bpl-list--review .bpl-school-description>span{display:inline!important;color:#53616d!important;font-weight:700!important}
.bpl-summary-total>span,.bpl-summary-total>strong,.bpl-summary-total>small{display:block}
.bpl-summary-total>strong{white-space:nowrap!important;line-height:1.15!important}
.bpl-summary-total>strong .woocommerce-Price-currencySymbol{display:inline!important}
@media(max-width:760px){.bpl-list--review.bpl-list--fixed-package .bpl-row--fixed-clean.bpl-row--no-prices,.bpl-list--review.bpl-list--fixed-package .bpl-row--fixed-clean:not(.bpl-row--no-prices){grid-template-columns:42px minmax(0,1fr)!important}}

/* Beta 10.3.5: optional package items */
.bpl-optional-note{margin:0;padding:12px 24px;background:#f8f7ff;border-top:1px solid #ece8ff;border-bottom:1px solid #ece8ff;color:#5d6572;font-size:12px}.bpl-optional-note strong{display:block;margin-bottom:2px;color:var(--bpl-primary);font-size:12px}.bpl-fixed-optional{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0!important;cursor:pointer}.bpl-fixed-optional input{width:17px;height:17px;margin:0!important}.bpl-fixed-optional small{padding:2px 6px;border-radius:999px;background:rgba(40,107,255,.08);color:var(--bpl-secondary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.bpl-row[data-optional="1"]{background:#fcfcff}.bpl-row[data-optional="1"].is-excluded{opacity:.55}.bpl-row[data-optional="1"].is-excluded .bpl-product strong{text-decoration:line-through}

/* 10.3.6 optional-package UX */
.bpl-package-optional-callout{margin:0;padding:11px 24px;background:#f8f7ff;border-bottom:1px solid #ece8ff;color:#5d6572;font-size:11px;line-height:1.45}.bpl-package-optional-callout strong{display:block;margin-bottom:2px;color:var(--bpl-primary);font-size:12px}.bpl-package-optional-callout b{color:#343b48}.bpl-optional-item-price{display:block!important;width:max-content;max-width:100%;margin-top:4px;padding:3px 7px;border-radius:999px;background:rgba(40,107,255,.08);color:var(--bpl-secondary)!important;font-size:10px!important;font-weight:800!important;line-height:1.3}.bpl-package-summary-tools{grid-template-columns:none!important}.bpl-package-summary-tools .bpl-package-tool{justify-content:center}
@media(max-width:720px){.bpl-package-optional-callout{padding:10px 16px}.bpl-package-summary-tools{grid-template-columns:1fr 1fr!important}}


/* Beta 10.3.7 - premium School Supplies hero gallery */
.bpl-school-finder.bpl-school-hero.has-bpl-hero-art{position:relative;isolation:isolate;min-height:540px;padding:54px 58px 32px!important;background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 36%,rgba(255,255,255,.64) 55%,rgba(255,255,255,.08) 76%),var(--bpl-hero-image)!important;background-size:cover!important;background-position:center!important;border:1px solid rgba(20,31,50,.08)!important;box-shadow:0 24px 60px rgba(22,34,51,.10)!important}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__content{grid-template-columns:minmax(0,760px) 1fr;min-height:390px}
.bpl-school-hero.has-bpl-hero-art .bpl-school-art{display:none!important}
.bpl-school-hero__logo{margin:0 0 18px}.bpl-school-hero__logo img{display:block;max-width:min(220px,45vw);max-height:92px;width:auto;height:auto;object-fit:contain}
.bpl-school-hero.has-bpl-hero-art h1{font-size:clamp(42px,4.2vw,64px)!important;line-height:.98!important;max-width:680px;margin-top:0!important;text-wrap:balance}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__main>p{font-size:18px;max-width:620px;color:#44505d}
.bpl-school-hero.has-bpl-hero-art .bpl-finder-card{max-width:690px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(18,31,46,.10)}
.bpl-school-hero.has-bpl-hero-art .bpl-school-progress{max-width:620px}
.bpl-school-hero.has-bpl-hero-art .bpl-school-trust{max-width:690px;padding-top:15px;margin-top:16px;border-top:1px solid rgba(31,41,51,.12)}
@media(max-width:960px){.bpl-school-finder.bpl-school-hero.has-bpl-hero-art{min-height:0;padding:34px 28px 28px!important;background-image:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.90) 64%,rgba(255,255,255,.58)),var(--bpl-hero-image)!important}.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__content{grid-template-columns:1fr;min-height:0}}
@media(max-width:700px){.bpl-school-finder.bpl-school-hero.has-bpl-hero-art{padding:24px 16px 20px!important;background-image:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.96) 68%,rgba(255,255,255,.88) 100%),var(--bpl-hero-mobile-image)!important;background-position:center!important}.bpl-school-hero.has-bpl-hero-art h1{font-size:36px!important}.bpl-school-hero__logo img{max-height:64px;max-width:170px}.bpl-school-hero.has-bpl-hero-art .bpl-school-trust{background:rgba(255,255,255,.72);padding:12px;border-radius:12px}}


/* Beta 10.3.8 - reliable hero artwork layer (avoids CSS URL/custom-property failures) */
.bpl-school-finder.bpl-school-hero.has-bpl-hero-art{background:#fff!important;overflow:hidden!important}
.bpl-school-hero__artwork{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%;pointer-events:none}
.bpl-school-hero__artwork img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important}
.bpl-school-hero__wash{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 36%,rgba(255,255,255,.64) 55%,rgba(255,255,255,.08) 76%)}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__content,.bpl-school-hero.has-bpl-hero-art>[data-bpl-school-result],.bpl-school-hero.has-bpl-hero-art>.bpl-missing-school{position:relative;z-index:1}
@media(max-width:960px){.bpl-school-hero__wash{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.90) 64%,rgba(255,255,255,.58))}}
@media(max-width:700px){.bpl-school-hero__wash{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.96) 68%,rgba(255,255,255,.88) 100%)}.bpl-school-hero__artwork img{object-position:center center!important}}


/* =========================================================
   Beta 10.3.9 — premium banner-first School Lists landing page
   Artwork is never stretched behind UI. It renders at its native 3.2:1 ratio,
   while the finder remains a crisp independent content surface below it.
========================================================= */
:root{--bpl-frame-width:1400px;--bpl-frame-gutter:16px;--bpl-frame-inline:min(var(--bpl-frame-width),calc(100vw - (var(--bpl-frame-gutter) * 2)))}
body.bpl-commerce-page .bpl-shell-wrap,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero{
    width:var(--bpl-frame-inline)!important;max-width:none!important;
    margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
body.bpl-commerce-page .bpl-shell-wrap{padding:0!important;margin-top:4px!important;margin-bottom:12px!important}
body.bpl-commerce-page .bpl-shell{width:100%!important;max-width:none!important;margin:0!important}
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.has-bpl-hero-art{
    min-height:0!important;margin-top:0!important;padding:0!important;overflow:hidden!important;
    border:1px solid var(--bpl-frame-border,#dbe3e9)!important;border-radius:18px!important;
    background:#fff!important;box-shadow:var(--bpl-frame-shadow,0 9px 28px rgba(31,41,51,.055))!important;
}
.bpl-school-hero__banner{display:block!important;position:relative!important;inset:auto!important;z-index:auto!important;width:100%!important;height:auto!important;aspect-ratio:16/5;overflow:hidden;background:#f7f7f7;border:0!important;border-bottom:1px solid #e6e8eb!important;pointer-events:none}
.bpl-school-hero__banner img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;image-rendering:auto!important}
.bpl-school-hero__body{padding:34px 48px 30px!important;background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%)}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__content,.bpl-school-hero.no-bpl-hero-art .bpl-school-hero__content{display:block!important;min-height:0!important;max-width:100%!important}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__main,.bpl-school-hero.no-bpl-hero-art .bpl-school-hero__main{max-width:980px!important}
.bpl-school-hero.has-bpl-hero-art h1,.bpl-school-hero.no-bpl-hero-art h1{margin:0 0 8px!important;max-width:820px!important;font-size:clamp(38px,3.5vw,54px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__main>p,.bpl-school-hero.no-bpl-hero-art .bpl-school-hero__main>p{margin:0 0 18px!important;max-width:760px!important;font-size:17px!important;line-height:1.5!important;color:#52606d!important}
.bpl-school-hero.has-bpl-hero-art .bpl-finder-card,.bpl-school-hero.no-bpl-hero-art .bpl-finder-card{max-width:920px!important;background:#f7f9fb!important;backdrop-filter:none!important;box-shadow:none!important}
.bpl-school-hero.has-bpl-hero-art .bpl-school-progress,.bpl-school-hero.no-bpl-hero-art .bpl-school-progress{max-width:720px!important}
.bpl-school-hero.has-bpl-hero-art .bpl-school-trust,.bpl-school-hero.no-bpl-hero-art .bpl-school-trust{max-width:920px!important;margin-top:16px!important;padding-top:15px!important;border-top:1px solid #eceef1!important;background:transparent!important}
.bpl-school-hero__artwork,.bpl-school-hero__wash,.bpl-school-hero__logo{display:none!important}
.bpl-school-hero .bpl-school-art{display:none!important}
.bpl-school-hero__body>[data-bpl-school-result]:not(:empty),.bpl-school-hero__body>.bpl-missing-school{position:relative!important;z-index:auto!important}
@media(max-width:760px){
    :root{--bpl-frame-gutter:8px}
    body.bpl-commerce-page .bpl-shell-wrap{margin-bottom:8px!important}
    body.bpl-school-list-page .bpl-school-finder.bpl-school-hero{border-radius:14px!important}
    .bpl-school-hero__banner{aspect-ratio:16/7;border-bottom:1px solid #e6e8eb!important}
    .bpl-school-hero__banner img{object-position:center center!important}
    .bpl-school-hero__body{padding:24px 16px 20px!important}
    .bpl-school-hero.has-bpl-hero-art h1,.bpl-school-hero.no-bpl-hero-art h1{font-size:34px!important}
    .bpl-school-hero.has-bpl-hero-art .bpl-finder-card,.bpl-school-hero.no-bpl-hero-art .bpl-finder-card{max-width:none!important}
}


/* =========================================================
   Beta 10.3.10 — single-surface premium hero
   One grid, no inner card, no duplicate logo, vector artwork.
========================================================= */
:root{--bpl-frame-width:1400px;--bpl-frame-gutter:16px;--bpl-frame-inline:min(var(--bpl-frame-width),calc(100vw - (var(--bpl-frame-gutter) * 2)))}
body.bpl-commerce-page .bpl-shell-wrap,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero{width:var(--bpl-frame-inline)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
body.bpl-commerce-page .bpl-shell-wrap{margin-top:4px!important;margin-bottom:12px!important;padding:0!important}
body.bpl-commerce-page .bpl-shell{width:100%!important;max-width:none!important;margin:0!important}
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.has-bpl-hero-art,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.no-bpl-hero-art{position:relative!important;min-height:0!important;margin-top:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;transform:none!important;left:auto!important}
.bpl-school-hero__banner,.bpl-school-hero__artwork,.bpl-school-hero__wash,.bpl-school-hero__logo,.bpl-school-hero .bpl-school-art{display:none!important}
.bpl-school-hero__body{position:relative!important;isolation:isolate;min-height:430px;padding:48px 56px 28px!important;overflow:hidden;background:#fff!important;border:0!important;border-radius:0!important}
.bpl-school-hero__visual{display:block!important;position:absolute!important;z-index:-3!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important}
.bpl-school-hero__visual img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center right!important}
.bpl-school-hero__fade{position:absolute;z-index:-2;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#fff 43%,rgba(255,255,255,.95) 51%,rgba(255,255,255,.45) 66%,rgba(255,255,255,0) 79%)}
.bpl-school-hero__content{display:block!important;min-height:0!important;position:relative!important;z-index:1!important}
.bpl-school-hero__main{width:min(760px,56%)!important;max-width:760px!important}
.bpl-school-hero h1{margin:0 0 10px!important;max-width:690px!important;font-size:clamp(42px,4vw,62px)!important;line-height:.98!important;letter-spacing:-.045em!important;color:#1f2933!important;text-wrap:balance}
.bpl-school-hero__main>p{margin:0 0 20px!important;max-width:650px!important;font-size:17px!important;line-height:1.5!important;color:#536170!important}
.bpl-school-hero .bpl-finder-card{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(210px,.8fr)!important;gap:12px!important;width:100%!important;max-width:730px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.bpl-school-hero .bpl-school-search-wrap,.bpl-school-hero .bpl-grade-wrap{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.bpl-school-hero .bpl-school-search-control input[type=search],.bpl-school-hero .bpl-grade-wrap select{height:58px!important;background:#fff!important;border:1px solid #cfd9e2!important;box-shadow:0 7px 22px rgba(31,41,51,.08)!important}
.bpl-school-az{margin-top:11px!important}.bpl-school-progress{max-width:610px!important;margin-top:18px!important}.bpl-school-trust{display:flex!important;gap:9px 18px!important;flex-wrap:wrap!important;max-width:730px!important;margin-top:16px!important;padding-top:14px!important;border-top:1px solid #e9edf1!important;background:transparent!important;font-size:11px!important}
.bpl-school-hero__body>[data-bpl-school-result]:not(:empty),.bpl-school-hero__body>.bpl-missing-school{position:relative!important;z-index:2!important;background:#fff!important}
@media(max-width:1000px){.bpl-school-hero__body{min-height:410px;padding:38px 34px 26px!important}.bpl-school-hero__main{width:64%!important}.bpl-school-hero__fade{background:linear-gradient(90deg,#fff 0%,#fff 52%,rgba(255,255,255,.78) 68%,rgba(255,255,255,.12) 88%)}}
@media(max-width:760px){:root{--bpl-frame-gutter:8px}.bpl-school-hero__body{min-height:0;padding:28px 16px 22px!important}.bpl-school-hero__visual{height:230px!important;inset:auto 0 0!important;opacity:.22!important}.bpl-school-hero__fade{background:linear-gradient(180deg,#fff 0%,#fff 64%,rgba(255,255,255,.70) 84%,rgba(255,255,255,.25) 100%)}.bpl-school-hero__main{width:100%!important;max-width:none!important}.bpl-school-hero h1{font-size:38px!important;max-width:520px!important}.bpl-school-hero__main>p{font-size:15px!important}.bpl-school-hero .bpl-finder-card{grid-template-columns:1fr!important;max-width:none!important}.bpl-school-trust{margin-bottom:160px!important}.bpl-school-hero.no-bpl-hero-art .bpl-school-trust{margin-bottom:0!important}}

/* =========================================================
   Beta 10.3.11 — About-spacing storefront frame + custom hero only
   One outer application card. The hero itself is not another card.
========================================================= */
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.has-bpl-hero-art,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.no-bpl-hero-art{
  width:var(--bpl-frame-inline)!important;
  margin:0 auto 28px!important;
  padding:28px 28px 56px!important;
  overflow:hidden!important;
  border:1px solid var(--bpl-frame-border,#dbe3e9)!important;
  border-radius:var(--bpl-frame-radius,18px)!important;
  background:#fff!important;
  box-shadow:var(--bpl-frame-shadow,0 9px 28px rgba(31,41,51,.055))!important;
}
.bpl-school-hero__body{
  position:relative!important;
  isolation:isolate!important;
  min-height:440px!important;
  padding:54px 58px 30px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fafbfd,#fff)!important;
  box-shadow:none!important;
}
.bpl-school-hero.has-bpl-hero-art .bpl-school-hero__body{background:#fff!important}
.bpl-school-hero__visual{display:block!important;position:absolute!important;z-index:-3!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;pointer-events:none!important}
.bpl-school-hero__visual img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;image-rendering:auto!important}
.bpl-school-hero__fade{position:absolute!important;z-index:-2!important;inset:0!important;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 37%,rgba(255,255,255,.66) 57%,rgba(255,255,255,.10) 79%)!important;pointer-events:none!important}
.bpl-school-hero__main{width:min(760px,57%)!important;max-width:760px!important}
.bpl-school-hero .bpl-finder-card{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.bpl-school-hero__banner,.bpl-school-hero__artwork,.bpl-school-hero__wash,.bpl-school-hero__logo,.bpl-school-hero .bpl-school-art{display:none!important}
@media(max-width:1000px){.bpl-school-hero__main{width:68%!important}.bpl-school-hero__fade{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 52%,rgba(255,255,255,.55) 78%,rgba(255,255,255,.15) 100%)!important}}
@media(max-width:760px){
 body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.has-bpl-hero-art,body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.no-bpl-hero-art{padding:10px 10px 32px!important;border-radius:var(--bpl-frame-radius,14px)!important}
 .bpl-school-hero__body{min-height:0!important;padding:30px 18px!important;border-radius:12px!important}
 .bpl-school-hero__main{width:100%!important;max-width:none!important}
 .bpl-school-hero__visual{height:100%!important;inset:0!important;opacity:1!important}
 .bpl-school-hero__fade{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.95) 62%,rgba(255,255,255,.80) 100%)!important}
 .bpl-school-trust{margin-bottom:0!important}
}


/* =========================================================
   Beta 10.3.12 — canonical outer frame + edge-to-edge hero
   Nav and every primary page use exactly the same geometry.
   The outer page frame is the only card; hero is content, not a nested card.
========================================================= */
:root{
  --bpl-frame-width:1400px;
  --bpl-frame-gutter:16px;
  --bpl-frame-gap:12px;
  --bpl-frame-radius:18px;
  --bpl-frame-border:#dbe3e9;
  --bpl-frame-shadow:0 9px 28px rgba(31,41,51,.055);
  --bpl-frame-inline:min(var(--bpl-frame-width),calc(100vw - (var(--bpl-frame-gutter) * 2)));
}
/* One immutable horizontal grid. */
body.bpl-commerce-page .bpl-shell-wrap,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-about-page .bpl-about,
body.woocommerce-account.bpl-commerce-page .woocommerce,
body.woocommerce-cart.bpl-commerce-page .woocommerce,
body.woocommerce-checkout.bpl-commerce-page .woocommerce,
body.woocommerce-order-received.bpl-commerce-page .woocommerce{
  width:var(--bpl-frame-inline)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.bpl-commerce-page .bpl-shell-wrap{
  margin-top:4px!important;
  margin-bottom:var(--bpl-frame-gap)!important;
  padding:0!important;
}
body.bpl-commerce-page .bpl-shell{
  width:100%!important;max-width:none!important;
  margin:0!important;
}

/* SCHOOL LISTS: outer frame only. Hero fills it edge-to-edge and ends at trust row. */
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.has-bpl-hero-art,
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero.no-bpl-hero-art{
  margin-top:0!important;
  margin-bottom:28px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--bpl-frame-border)!important;
  border-radius:var(--bpl-frame-radius)!important;
  background:#fff!important;
  box-shadow:var(--bpl-frame-shadow)!important;
}
.bpl-school-hero__body{
  position:relative!important;
  isolation:isolate!important;
  min-height:440px!important;
  padding:54px 58px 30px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.bpl-school-hero__visual{border-radius:0!important}
.bpl-school-hero__visual img{object-position:center center!important}
/* The artwork belongs only to the hero body, never the result / missing-list area. */
.bpl-school-hero>[data-bpl-school-result],
.bpl-school-hero>.bpl-missing-school{position:relative!important;z-index:3!important;background:#fff!important}
.bpl-school-hero>.bpl-missing-school{
  width:auto!important;
  margin:0 28px 28px!important;
}
.bpl-school-hero>[data-bpl-school-result]:not(:empty){padding:28px!important;border-top:1px solid #edf0f3!important}

/* ABOUT: same outer frame as School Lists; hero itself has no second card/border. */
body.bpl-about-page .bpl-about{
  margin-top:0!important;
  margin-bottom:28px!important;
  padding:0 0 56px!important;
  overflow:hidden!important;
  border:1px solid var(--bpl-frame-border)!important;
  border-radius:var(--bpl-frame-radius)!important;
  background:#fff!important;
  box-shadow:var(--bpl-frame-shadow)!important;
}
body.bpl-about-page .bpl-about__hero,
body.bpl-about-page .bpl-about__hero.has-background-image{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.bpl-about-page .bpl-about__story{padding-left:62px!important;padding-right:62px!important}
body.bpl-about-page .bpl-about__trust{width:auto!important;max-width:none!important;margin-left:62px!important;margin-right:62px!important}
body.bpl-about-page .bpl-about__cta{width:auto!important;max-width:none!important;margin-left:62px!important;margin-right:62px!important}

@media(max-width:760px){
  :root{--bpl-frame-gutter:8px;--bpl-frame-gap:8px;--bpl-frame-radius:14px}
  body.bpl-commerce-page .bpl-shell-wrap{margin-top:3px!important;margin-bottom:var(--bpl-frame-gap)!important}
  .bpl-school-hero__body{min-height:0!important;padding:30px 18px 22px!important;border-radius:0!important}
  .bpl-school-hero>.bpl-missing-school{margin:0 10px 18px!important}
  .bpl-school-hero>[data-bpl-school-result]:not(:empty){padding:18px 10px!important}
  body.bpl-about-page .bpl-about{padding-bottom:32px!important}
  body.bpl-about-page .bpl-about__hero{border-radius:0!important}
  body.bpl-about-page .bpl-about__story{padding-left:18px!important;padding-right:18px!important}
  body.bpl-about-page .bpl-about__trust,
  body.bpl-about-page .bpl-about__cta{margin-left:10px!important;margin-right:10px!important}
}


/* =========================================================
   Beta 10.3.14 — exact frame alignment + clean About hero edge
========================================================= */
/* School Lists: both sibling cards use the exact same frame geometry. */
body.bpl-school-list-page .bpl-school-finder.bpl-school-hero,
body.bpl-school-list-page .bpl-school-missing-standalone{
  width:var(--bpl-frame-inline)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.bpl-school-list-page .bpl-school-missing-standalone{
  padding:0!important;
  margin-top:0!important;
  margin-bottom:28px!important;
}
body.bpl-school-list-page .bpl-school-missing-standalone > .bpl-missing-school{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
/* About: kill the old Spectrum top rule completely. The outer frame is the only edge. */
body.bpl-about-page .bpl-about__hero::before,
body.bpl-about-page .bpl-about__hero:before{
  content:none!important;
  display:none!important;
  height:0!important;
  background:none!important;
}
body.bpl-about-page .bpl-about__hero,
body.bpl-about-page .bpl-about__hero.has-background-image{
  border-top:0!important;
}
@media(max-width:760px){
  body.bpl-school-list-page .bpl-school-missing-standalone{margin-bottom:18px!important;}
}


/* =========================================================
   Beta 10.3.20 — modal isolation
   Hide standalone school-help content while a package modal is open.
   The open-state class is applied to <html> by public.js.
========================================================= */
html.bpl-modal-open body.bpl-school-list-page .bpl-school-missing-standalone{
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Beta 10.3.22 — keep package viewer inside the viewport and make contents fully scrollable */
.bpl-package-modal__dialog{
  height:min(90vh,calc(100dvh - 48px));
  max-height:calc(100dvh - 48px)!important;
  display:flex;
  flex-direction:column;
}
.bpl-package-modal__scroll{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden;
  box-sizing:border-box;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:40px!important;
}
@media(max-width:720px){
  .bpl-package-modal__dialog{
    height:92dvh;
    max-height:92dvh!important;
  }
  .bpl-package-modal__scroll{
    max-height:none!important;
    padding-bottom:36px!important;
  }
}


/* =========================================================
   Beta 10.3.23 — true viewport modal
   The open modal is portalled to <body> by public.js, escaping the package
   card's overflow:hidden so the overlay and scroll area cannot be clipped.
========================================================= */
body > .bpl-package-modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  padding:24px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body > .bpl-package-modal .bpl-package-modal__dialog{
  width:min(1320px,calc(100vw - 48px))!important;
  height:calc(100dvh - 48px)!important;
  max-height:calc(100dvh - 48px)!important;
  min-height:0!important;
}
body > .bpl-package-modal .bpl-package-modal__scroll{
  flex:1 1 0!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-bottom:56px!important;
}
@media(max-width:720px){
  body > .bpl-package-modal{padding:0!important;align-items:end!important;}
  body > .bpl-package-modal .bpl-package-modal__dialog{
    width:100%!important;
    height:92dvh!important;
    max-height:92dvh!important;
  }
}

/* =========================================================
   Beta 10.3.24 — body-portalled package modal geometry
   Reset the storefront's full-bleed .bpl-list positioning inside the modal.
   Those global left:50%/translate rules are correct on pages, but once the
   package viewer is portalled to <body> they shift the list outside dialog.
========================================================= */
body > .bpl-package-modal .bpl-package-modal__dialog{
  width:min(1320px,calc(100vw - 48px))!important;
  max-width:calc(100vw - 48px)!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body > .bpl-package-modal .bpl-package-modal__scroll{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body > .bpl-package-modal .bpl-list{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body > .bpl-package-modal .bpl-list-layout{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,310px)!important;
  box-sizing:border-box!important;
}
body > .bpl-package-modal .bpl-table,
body > .bpl-package-modal .bpl-list-summary{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  body > .bpl-package-modal .bpl-package-modal__dialog{width:100%!important;max-width:100%!important;}
  body > .bpl-package-modal .bpl-list{left:auto!important;transform:none!important;width:100%!important;}
  body > .bpl-package-modal .bpl-list-layout{grid-template-columns:1fr!important;}
}

/* 10.3.32 - clearer package choice controls */
.bpl-package-summary-row--choice .bpl-hand-inline label span,
.bpl-package-summary-row--choice .bpl-sticker-inline label span{transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.bpl-package-summary-row--choice .bpl-hand-inline label:hover span,
.bpl-package-summary-row--choice .bpl-sticker-inline label:hover span{background:rgba(112,48,255,.06);color:var(--bpl-primary)}
.bpl-package-summary-row--choice .bpl-hand-inline input:focus-visible+span,
.bpl-package-summary-row--choice .bpl-sticker-inline input:focus-visible+span{outline:2px solid var(--bpl-primary);outline-offset:-2px}
/* Boy / Girl uses the same neutral segmented control styling as the other package options. */
.bpl-gender-inline label span{color:#566273!important}
.bpl-gender-inline input:checked+span{color:var(--bpl-primary)!important}


/* 4.0.0 optional-item confirmation */
.bpl-optional-confirm{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px}
.bpl-optional-confirm__backdrop{position:absolute;inset:0;background:rgba(20,24,34,.64);backdrop-filter:blur(3px)}
.bpl-optional-confirm__dialog{position:relative;width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.bpl-optional-confirm__dialog h2{margin:6px 42px 8px 0;font-size:28px}.bpl-optional-confirm__dialog>p{margin:0 0 20px;color:#647084}
.bpl-optional-confirm__x{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#667085}
.bpl-optional-confirm__items{display:grid;gap:10px}.bpl-optional-confirm__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e2e6ec;border-radius:12px;cursor:pointer;background:#fff}
.bpl-optional-confirm__item:has(input:checked){border-color:var(--bpl-primary);box-shadow:0 0 0 1px var(--bpl-primary)}
.bpl-optional-confirm__item input{width:20px;height:20px;margin:0}.bpl-optional-confirm__item span{display:grid;gap:3px}.bpl-optional-confirm__item strong{color:#263142}.bpl-optional-confirm__item small{color:#7a8494}.bpl-optional-confirm__item em{font-style:normal;font-weight:700;white-space:nowrap;color:#263142}
.bpl-optional-confirm__footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #e8ebef}.bpl-optional-confirm__footer .button{margin:0!important}
@media(max-width:600px){.bpl-optional-confirm{padding:12px}.bpl-optional-confirm__dialog{padding:22px 16px;border-radius:14px;max-height:calc(100vh - 24px)}.bpl-optional-confirm__dialog h2{font-size:23px}.bpl-optional-confirm__item{grid-template-columns:auto minmax(0,1fr);gap:10px}.bpl-optional-confirm__item em{grid-column:2}.bpl-optional-confirm__footer{display:grid;grid-template-columns:1fr 1fr}}

/* 4.0.3: product thumbnails in optional-item confirmation modal. */
.bpl-optional-confirm__item{grid-template-columns:auto 88px minmax(0,1fr) auto}
.bpl-optional-confirm__image{width:88px;height:88px;border-radius:10px;overflow:hidden;background:#f7f8fa;display:flex;align-items:center;justify-content:center}
.bpl-optional-confirm__image img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.bpl-optional-confirm__copy{display:grid;gap:3px;min-width:0}
@media(max-width:600px){.bpl-optional-confirm__item{grid-template-columns:auto 68px minmax(0,1fr)}.bpl-optional-confirm__image{width:68px;height:68px}.bpl-optional-confirm__item em{grid-column:3}}

/* =========================================================
   4.0.8 - Divi wrapper isolation for School Lists
   Let BPL own the storefront geometry instead of inheriting
   Divi row/module width and horizontal spacing constraints.
========================================================= */
body.bpl-school-list-page #main-content,
body.bpl-school-list-page article,
body.bpl-school-list-page .entry-content,
body.bpl-school-list-page .et-l--post,
body.bpl-school-list-page .et_builder_inner_content,
body.bpl-school-list-page .et_pb_section,
body.bpl-school-list-page .et_pb_row,
body.bpl-school-list-page .et_pb_column,
body.bpl-school-list-page .et_pb_module,
body.bpl-school-list-page .et_pb_text_inner{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.bpl-school-list-page .et_pb_section,
body.bpl-school-list-page .et_pb_row,
body.bpl-school-list-page .et_pb_column,
body.bpl-school-list-page .et_pb_text{
  padding-left:0!important;
  padding-right:0!important;
}
body.bpl-school-list-page{overflow-x:clip}


/* =========================================================
   4.0.9 - Consistent top navigation spacing
   Remove Divi's vertical section/row/module spacing above the
   BPL shell on School Lists so it matches the other BPL pages.
========================================================= */
body.bpl-school-list-page .et_builder_inner_content > .et_pb_section:first-child,
body.bpl-school-list-page .et_builder_inner_content > .et_pb_section:first-child > .et_pb_row,
body.bpl-school-list-page .et_builder_inner_content > .et_pb_section:first-child .et_pb_column,
body.bpl-school-list-page .et_builder_inner_content > .et_pb_section:first-child .et_pb_text,
body.bpl-school-list-page .et_builder_inner_content > .et_pb_section:first-child .et_pb_text_inner{
  margin-top:0!important;
  padding-top:0!important;
}
body.bpl-school-list-page #main-content,
body.bpl-school-list-page article,
body.bpl-school-list-page .entry-content,
body.bpl-school-list-page .et-l--post,
body.bpl-school-list-page .et_builder_inner_content{
  padding-top:0!important;
  margin-top:0!important;
}


/* =========================================================
   4.0.12 - Checkout Divi wrapper collapse
   Checkout content is nested in Divi transport wrappers. They
   must end with their content and must not reserve footer space.
========================================================= */
body.woocommerce-checkout.bpl-commerce-page #main-content > article,
body.woocommerce-checkout.bpl-commerce-page #main-content > article > .entry-content,
body.woocommerce-checkout.bpl-commerce-page #main-content .et-l--post,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content > .et_pb_section,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content > .et_pb_section > .et_pb_row,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content > .et_pb_section > .et_pb_row > .et_pb_column,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content .et_pb_text,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content .et_pb_text_inner {
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
}
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content > .et_pb_section,
body.woocommerce-checkout.bpl-commerce-page #main-content .et_builder_inner_content > .et_pb_section > .et_pb_row {
    width:100%!important;
    max-width:none!important;
}
body.woocommerce-checkout.bpl-commerce-page #main-content > article,
body.woocommerce-checkout.bpl-commerce-page #main-content > article > .entry-content {
    padding-bottom:0!important;
}

/* 4.0.17 — compact accessible school autocomplete */
.bpl-school-hero .bpl-school-search-wrap{position:relative!important;min-width:0}
.bpl-school-hero .bpl-school-search-control{position:relative!important}
.bpl-school-hero .bpl-school-results{z-index:9999!important;top:calc(100% + 8px)!important;max-height:310px!important;overflow-y:auto!important;overscroll-behavior:contain;padding:7px!important;border:1px solid #e3e5ed!important;border-radius:16px!important;background:#fff!important;box-shadow:0 14px 36px rgba(26,32,51,.16)!important}
.bpl-school-results-caption{padding:8px 12px 9px;color:#777b89;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.bpl-school-hero .bpl-school-result{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:55px!important;margin:0!important;padding:9px 11px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#27303e!important;font-size:14px!important;font-weight:650!important;line-height:1.3!important;text-align:left!important;box-shadow:none!important;transition:background .12s ease!important}
.bpl-school-hero .bpl-school-result+.bpl-school-result{margin-top:2px!important}
.bpl-school-hero .bpl-school-result:hover,.bpl-school-hero .bpl-school-result:focus-visible,.bpl-school-hero .bpl-school-result.is-active{background:#f3efff!important;color:#6023cb!important;outline:none!important}
.bpl-school-result-icon{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border-radius:9px;background:#f3f4f8;color:#7d48e5;font-size:22px;font-weight:400}
.bpl-school-result-name{flex:1;min-width:0;overflow-wrap:anywhere}
.bpl-school-result-arrow{color:#8e77c2;font-size:20px;opacity:0;transition:opacity .12s}
.bpl-school-result:hover .bpl-school-result-arrow,.bpl-school-result.is-active .bpl-school-result-arrow{opacity:1}
.bpl-school-hero .bpl-school-empty{display:flex;flex-direction:column;gap:5px;padding:16px 12px;color:#737987;font-size:13px}
.bpl-school-hero .bpl-school-empty strong{color:#27303e;font-size:14px}
@media(max-width:700px){.bpl-school-hero .bpl-school-results{max-height:240px!important}.bpl-school-hero .bpl-school-result{min-height:52px!important}}

/* 4.0.18: escape theme/hero overflow clipping via body-level popup */
body .bpl-school-results.bpl-school-results-portal{position:fixed!important;z-index:2147483000!important;right:auto!important;box-sizing:border-box!important;overflow-y:auto!important;overscroll-behavior:contain!important;max-height:310px!important;}
body .bpl-school-results.bpl-school-results-portal[hidden]{display:none!important;}

/* 4.0.19 — text-only school autocomplete (portal is appended to body). */
.bpl-school-results-portal .bpl-school-result{display:block!important;width:100%!important;min-height:42px!important;padding:10px 14px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#27303e!important;text-align:left!important;font-size:15px!important;font-weight:600!important;box-shadow:none!important}
.bpl-school-results-portal .bpl-school-result:hover,.bpl-school-results-portal .bpl-school-result:focus-visible,.bpl-school-results-portal .bpl-school-result.is-active{background:#f3efff!important;color:#6023cb!important}
.bpl-school-results-portal .bpl-school-result-icon,.bpl-school-results-portal .bpl-school-result-arrow{display:none!important}

/* 4.1 beta opt-in subject picker */
.bpl-subject-picker{margin:18px 0;padding:18px;border:1px solid #dce4ec;border-radius:12px;background:#f8fafc}.bpl-subject-picker fieldset{border:0;margin:0 0 14px;padding:0}.bpl-subject-picker legend{margin-bottom:12px}.bpl-subject-language label{display:inline-flex;gap:8px;align-items:center;margin-right:22px}.bpl-subject-option{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e8edf3}.bpl-subject-option small{margin-left:auto}

.bpl-subject-books{padding:18px;border:1px solid #d9e2ec;border-radius:12px;margin:18px 0}.bpl-book-choice{display:block;padding:9px 0}.bpl-book-choice[hidden]{display:none!important}

/* Beta 15 guided subject selection */
.bpl-guided-picker{display:block}.bpl-guided-original{border:0!important;padding:0!important;margin:0!important;min-height:0!important}.bpl-guided-original>legend{display:none!important}.bpl-guided-section{background:#fff;border:1px solid #dce3ed;border-radius:14px;padding:18px 20px;margin:14px 0}.bpl-guided-heading strong{font-size:17px;color:#1f2937}.bpl-guided-heading p{font-size:13px;color:#64748b;margin:5px 0 12px}.bpl-guided-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}.bpl-guided-choice{display:flex!important;align-items:center;gap:10px;border:1px solid #dce3ed;border-radius:10px;padding:12px!important;margin:0!important;cursor:pointer;background:#fafcff}.bpl-guided-choice:has(input:checked){border-color:#8054f8;background:#f6f1ff}.bpl-guided-locked{opacity:.78;cursor:default}.bpl-guided-choice small{margin-left:auto;white-space:nowrap}.bpl-guided-status{padding:14px;border-radius:10px;background:#eaf8ef;color:#146c36;font-weight:600;margin-top:14px}.bpl-guided-status--error{background:#fff4e5;color:#9a4c08}.bpl-guided-attention{outline:2px solid #f59e0b;outline-offset:3px}.bpl-guided-group-note{font-weight:600;color:#475569}.bpl-guided-language{border:1px solid #dce3ed;border-radius:14px;padding:16px 20px;margin:0 0 12px}@media(max-width:650px){.bpl-guided-choices{grid-template-columns:1fr}.bpl-guided-section{padding:14px}}

/* 4.1: subject cards — checkbox, then the name with the price on its own line below,
   so long names never push the price out of the card. Names may wrap after "/". */
.bpl-guided-choice{display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:start;align-content:start}
.bpl-guided-choice input{grid-row:1/span 2;margin-top:3px}
.bpl-guided-choice .bpl-subject-name,.bpl-subject-option .bpl-subject-name{min-width:0;overflow-wrap:break-word}
.bpl-guided-choice small{grid-column:2;margin-left:0;white-space:nowrap;color:#475569;font-weight:600}
.bpl-subject-option input{flex:0 0 auto}.bpl-subject-option .bpl-subject-name{flex:1 1 auto}.bpl-subject-option small{flex:0 0 auto;white-space:nowrap}

/* 4.1: package contents grouped by section (general, then each chosen subject) */
.bpl-review-group{display:block;padding:10px 14px;margin-top:10px;background:#f4f1fe;border:1px solid #e4dcfd;border-radius:10px 10px 0 0;color:#1f2937}
.bpl-review-group:first-child{margin-top:0}
.bpl-review-group small{display:block;margin-top:1px;color:#6b5bb5;font-size:12px;font-weight:600}
.bpl-managed-review-note{margin:10px 2px 0;color:#64748b;font-size:14px}

/* 4.1.1: Google reviews under the school finder */
.bpl-reviews-wrap{max-width:1180px;margin:8px auto 32px;padding:0 16px}
.bpl-reviews-wrap .bgr-reviews{margin:0 auto;padding:0}
