
/* Remove título/meta duplicados criados pelo tema na página da Lista Escolar */
body.single-ble_lista .entry-header,
body.single-ble_lista .entry-title,
body.single-ble_lista .entry-meta,
body.single-ble_lista .post-navigation {
    display:none !important;
}

body.single-ble_lista .site-content > .ast-container,
body.single-ble_lista .content-area,
body.single-ble_lista .site-main,
body.single-ble_lista article,
body.single-ble_lista .entry-content {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.ble-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:20px;
    font-family:inherit;
    color:#252525;
    max-width:1440px;
    margin:0 auto;
    padding:28px 24px 42px;
    box-sizing:border-box;
}
.ble-wrap *{box-sizing:border-box}
.ble-main{min-width:0}
.ble-hero,.ble-section,.ble-summary,.ble-important{
    background:#fff;
    border:1px solid #eee7df;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.03)
}
.ble-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:28px;
    padding:26px;
    background:#fffaf6
}
.ble-hero h1{margin:0;font-size:30px;line-height:1.2}
.ble-hero h2{margin:6px 0;color:#ef5c0e;font-size:18px}
.ble-hero p{margin:9px 0 15px}
.ble-pref{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:18px}
.ble-pref strong{width:100%}
.ble-pref label{display:inline-flex;align-items:center;gap:6px;margin:0}
.ble-pref small{width:100%;color:#777}
.ble-total-card{
    background:#fff;
    padding:18px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
    display:flex;
    flex-direction:column;
    gap:8px;
    text-align:center;
    align-items:center
}
.ble-total-card>strong{font-size:30px;color:#ef5c0e;line-height:1.1;margin-top:4px}
.ble-total-card span{display:flex;justify-content:space-between;gap:12px;font-size:13px;width:100%;text-align:left}

.ble-section{margin-top:14px;padding:18px 20px}
.ble-section h3{margin:0 0 12px;font-size:18px}
.ble-section h3 span{
    font-size:12px;color:#ef5c0e;background:#fff2e8;
    padding:4px 8px;border-radius:20px;margin-left:8px
}

.ble-items{display:flex;flex-direction:column}
.ble-item{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 120px 146px 44px;
    gap:16px;
    align-items:center;
    padding:14px 6px;
    border-top:1px solid #f0ece7
}
.ble-item:first-child{border-top:0}
.ble-item-img{
    width:52px;height:52px;display:flex;align-items:center;justify-content:center;
}
.ble-item-img img{width:48px!important;height:48px!important;object-fit:contain}
.ble-noimg{display:flex;width:48px;height:48px;align-items:center;justify-content:center;background:#fafafa;border-radius:8px;color:#aaa}
.ble-item-name{min-width:0}
.ble-item-name strong{display:block;line-height:1.3}
.ble-item-name small{display:block;color:#888;margin-top:3px}
.ble-product-category{font-size:11px;color:#8c8c8c}
.ble-change-product{
    border:0!important;
    background:transparent!important;
    color:#ef5c0e!important;
    font-size:12px!important;
    padding:4px 0!important;
    margin:4px 0 0!important;
    min-height:0!important;
    line-height:1.2!important;
    cursor:pointer;
    text-decoration:underline;
    font-weight:600;
}
.ble-item-price{text-align:right;font-weight:600}
.ble-item-qtd{
    display:grid;
    grid-template-columns:38px 1fr 38px;
    align-items:center;
    border:1px solid #ddd;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
    min-width:130px;
}
.ble-item-qtd button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fafafa!important;
    color:#333!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:500!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.ble-item-qtd button:hover{background:#f3f3f3!important;color:#ef5c0e!important}
.ble-item-qtd input{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    text-align:center!important;
    border:0!important;
    border-left:1px solid #eee!important;
    border-right:1px solid #eee!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0 4px!important;
    margin:0!important;
    background:#fff!important;
    color:#222!important;
    -moz-appearance:textfield;
}
.ble-item-qtd input::-webkit-outer-spin-button,
.ble-item-qtd input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.ble-remove{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:#777!important;
    cursor:pointer!important;
}
.ble-remove svg{width:20px;height:20px;fill:currentColor}
.ble-remove:hover{color:#ef5c0e!important;background:#fff4ed!important;border-radius:8px!important}









.ble-important{margin-top:14px;padding:15px 17px}
.ble-important[open] summary{margin-bottom:10px}
.ble-important p{font-size:14px;line-height:1.45}

.ble-summary{
    position:sticky;
    top:20px;
    align-self:start;
    padding:22px
}
.ble-summary h3{margin-top:0}
.ble-summary-total{
    border-top:1px solid #eee;border-bottom:1px solid #eee;
    padding:18px 0;margin:12px 0;display:flex;flex-direction:column
}
.ble-summary-total strong{font-size:30px;color:#ef5c0e}
.ble-cart-placeholder{
    width:100%;border:0!important;border-radius:8px!important;
    background:#ef5c0e!important;color:#fff!important;padding:14px!important;
    font-weight:700!important;cursor:pointer
}
.ble-under-cart{font-size:13px;line-height:1.4;margin-top:13px}
.ble-under-cart a{font-weight:700;color:#ef5c0e}
.ble-summary>small{display:block;color:#888;margin-top:9px}
.ble-muted{color:#777;font-size:13px}
.ble-missing{color:#a24b00;font-size:12px}

/* Modal de troca de produto */
.ble-product-modal[hidden]{display:none!important}
.ble-product-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.ble-product-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42)}
.ble-product-modal-card{
    position:relative;z-index:2;width:min(760px,96vw);max-height:82vh;overflow:auto;
    background:#fff;border-radius:14px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.25)
}
.ble-product-modal-card h3{margin:0 40px 6px 0;font-size:22px}
.ble-product-modal-card p{margin:0 0 16px;color:#666}
.ble-modal-close{
    position:absolute!important;right:14px;top:12px;width:38px!important;height:38px!important;
    border:0!important;background:#f5f5f5!important;color:#333!important;border-radius:50%!important;
    padding:0!important;font-size:25px!important;line-height:1!important;cursor:pointer
}
.ble-product-search{width:100%!important;padding:12px 14px!important;border:1px solid #ddd!important;border-radius:8px!important}
.ble-product-results{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.ble-product-search-hint,.ble-product-searching{padding:18px;text-align:center;color:#777}
.ble-search-product{
    display:grid;grid-template-columns:56px minmax(0,1fr) 110px 90px;
    gap:12px;align-items:center;padding:10px;border:1px solid #eee;border-radius:9px
}
.ble-search-product img{width:50px;height:50px;object-fit:contain}
.ble-search-product-name strong{display:block}
.ble-search-product-name small{display:block;color:#888}
.ble-search-product-price{text-align:right;font-weight:700}
.ble-search-product{background:#fff}
.ble-select-product{
    border:1px solid #ef5c0e!important;background:#fff!important;color:#ef5c0e!important;
    border-radius:7px!important;padding:8px 10px!important;font-size:12px!important;cursor:pointer
}
.ble-select-product:hover{background:#ef5c0e!important;color:#fff!important}

@media(max-width:900px){
    .ble-total-card{align-items:stretch;text-align:left}

    .ble-wrap{grid-template-columns:1fr;padding:16px 12px 30px}
    .ble-summary{position:static}
    .ble-hero{grid-template-columns:1fr;padding:20px}
    .ble-item{
        grid-template-columns:52px minmax(0,1fr) 44px;
        gap:10px;padding:14px 0
    }
    .ble-item-price{grid-column:2;text-align:left}
    .ble-item-qtd{grid-column:2;max-width:140px}
    .ble-remove{grid-column:3;grid-row:1/3}
    
    .ble-search-product{grid-template-columns:50px minmax(0,1fr)}
    .ble-search-product-price{grid-column:2;text-align:left}
    .ble-select-product{grid-column:2}
}

.ble-important summary{font-weight:700;cursor:pointer}


.ble-details summary{font-size:15px;line-height:1.3}
.ble-details p{font-size:13px;line-height:1.5;color:#666;margin:10px 0 0}
.ble-vale-control-card{
    border:1px solid #eee7df;
    border-radius:12px;
    background:#fff;
    padding:0;
    overflow:hidden;
    margin-top:10px;
}
.ble-vale-control-group{padding:14px 16px}
.ble-vale-group-title{display:block;font-size:16px;line-height:1.35;margin:0 0 12px}
.ble-vale-separator{height:1px;background:#eee7df}
.ble-vale-options-row{display:flex;flex-wrap:wrap;gap:18px 22px}
.ble-vale-options-row label{display:inline-flex;align-items:center;gap:6px;margin:0}
.ble-vale-status{
    margin-top:12px;
    border-radius:10px;
    padding:12px 14px;
    font-size:14px;
    line-height:1.35;
}
.ble-vale-status-ok{
    background:#eef8ee;
    border:1px solid #cfeacf;
    color:#3f7f3f;
}
.ble-voucher-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:14px
}
.ble-voucher-fields label{display:block;font-weight:500}
.ble-voucher-fields input{
    display:block;
    width:100%;
    margin-top:6px;
    border:1px solid #ddd!important;
    border-radius:10px!important;
    padding:12px 14px!important;
    min-height:46px;
}
.ble-note{
    background:#fff8df;
    border:1px solid #f0df9c;
    padding:10px 12px;
    border-radius:10px;
    font-size:13px;
    margin-top:14px;
}
.ble-product-category-hint{
    padding:10px 12px;
    border-radius:8px;
    background:#fff4ed;
    color:#a4581f;
    font-size:13px;
    margin-bottom:12px;
}


/* v0.2.0 - Vale e alternativas */
.ble-details{
    background:#eef8ee !important;
    border:1px solid #cfeacf !important;
    border-radius:10px !important;
    padding:12px 14px !important;
    margin:10px 0 14px !important;
    color:#315f31;
}
.ble-details summary{
    color:#315f31;
    font-size:14px !important;
    font-weight:700;
}
.ble-details p{
    color:#4c694c !important;
    font-size:12.5px !important;
    line-height:1.5 !important;
    margin:9px 0 0 !important;
}
.ble-stock-warning{
    display:block;
    font-size:11px;
    font-weight:700;
    color:#a34e00;
    margin-top:4px;
}
.ble-alternative-product{
    font-weight:700 !important;
}

@media (max-width: 1100px){
    .ble-wrap{
        grid-template-columns:minmax(0,1fr) 285px;
        padding-left:16px;
        padding-right:16px;
        gap:16px;
    }
    .ble-item{
        grid-template-columns:54px minmax(0,1fr) 105px 132px 40px;
        gap:10px;
    }
}

@media (max-width: 900px){
    .ble-wrap{
        display:flex;
        flex-direction:column;
        padding:14px 12px 28px;
        gap:12px;
    }
    .ble-main{order:1}
    .ble-summary{
        order:2;
        position:static !important;
        width:100%;
    }
    .ble-hero{
        grid-template-columns:1fr !important;
        gap:16px !important;
        padding:18px !important;
    }
    .ble-total-card{
        align-items:center !important;
        text-align:center !important;
        width:100%;
    }
    .ble-total-card span{max-width:420px}
    .ble-section{padding:15px 14px}
    .ble-item{
        grid-template-columns:50px minmax(0,1fr) 38px !important;
        grid-template-areas:
          "img name remove"
          "img price remove"
          ". qty remove" !important;
        gap:7px 10px !important;
        padding:13px 0 !important;
    }
    .ble-item-img{grid-area:img}
    .ble-item-name{grid-area:name}
    .ble-item-price{
        grid-area:price !important;
        text-align:left !important;
    }
    .ble-item-qtd{
        grid-area:qty !important;
        width:132px;
        max-width:132px !important;
    }
    .ble-remove{
        grid-area:remove !important;
        align-self:center;
    }
    .ble-voucher-fields{grid-template-columns:1fr !important}
    .ble-vale-options-row{
        flex-direction:column;
        align-items:flex-start;
        gap:9px !important;
    }
    .ble-vale-control-group{padding:13px 14px}
    .ble-product-modal{padding:12px}
    .ble-product-modal-card{padding:20px 16px}
}

@media (max-width: 560px){
    .ble-wrap{padding:10px 8px 24px}
    .ble-hero h1{font-size:24px}
    .ble-hero h2{font-size:16px}
    .ble-pref{
        gap:10px 14px;
    }
    .ble-pref label{
        font-size:14px;
    }
    .ble-section h3{
        font-size:17px;
    }
    .ble-section h3 span{
        display:inline-block;
        margin:6px 0 0 0;
    }
    .ble-item{
        grid-template-columns:46px minmax(0,1fr) 34px !important;
    }
    .ble-item-img,
    .ble-item-img img,
    .ble-noimg{
        width:42px !important;
        height:42px !important;
    }
    .ble-item-name strong{font-size:14px}
    .ble-item-price{font-size:14px}
    .ble-summary{padding:17px}
    .ble-summary-total strong{font-size:27px}
    .ble-search-product{
        grid-template-columns:46px minmax(0,1fr) !important;
        gap:8px !important;
    }
}


/* v0.2.1 - Itens a escolher */
.ble-choice-list{
    display:flex;
    flex-direction:column;
    margin-top:10px;
}
.ble-choice-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:13px 4px;
    border-top:1px solid #f0ece7;
}
.ble-choice-item:first-child{border-top:0}
.ble-choice-info strong{display:block}
.ble-choice-info small{
    display:block;
    margin-top:3px;
    color:#888;
    font-size:12px;
}
.ble-choice-unmapped{color:#a36a3d !important}
.ble-choice-search{
    border:1px solid #ef5c0e !important;
    background:#fff !important;
    color:#ef5c0e !important;
    border-radius:8px !important;
    padding:9px 14px !important;
    font-size:12px !important;
    font-weight:700 !important;
    cursor:pointer !important;
    min-width:130px;
}
.ble-choice-search:hover{
    background:#ef5c0e !important;
    color:#fff !important;
}
.ble-choice-no-action{
    font-size:12px;
    color:#999;
}
.ble-choice-selected-product{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) 110px 138px 40px;
    gap:12px;
    align-items:center;
    width:100%;
}
.ble-choice-selected-img img{
    width:48px;
    height:48px;
    object-fit:contain;
}
.ble-choice-selected-info strong{display:block}
.ble-choice-selected-info small{display:block;color:#888;margin-top:3px}
.ble-choice-change{
    min-width:0 !important;
    border:0 !important;
    padding:4px 0 !important;
    text-decoration:underline;
    background:transparent !important;
    text-align:left;
}
.ble-choice-change:hover{
    background:transparent !important;
    color:#ef5c0e !important;
}
.ble-choice-selected-price{
    text-align:right;
    font-weight:700;
}
.ble-choice-remove{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    border:0!important;
    background:transparent!important;
    color:#777!important;
    cursor:pointer!important;
    padding:0!important;
}
.ble-choice-remove svg{
    width:20px;
    height:20px;
    fill:currentColor;
}
.ble-choice-remove:hover{
    color:#ef5c0e!important;
    background:#fff4ed!important;
    border-radius:8px!important;
}

@media(max-width:900px){
    .ble-choice-item{
        grid-template-columns:minmax(0,1fr) auto;
        gap:10px;
    }
    .ble-choice-selected-product{
        grid-template-columns:48px minmax(0,1fr) 38px;
        grid-template-areas:
          "img info remove"
          "img price remove"
          ". qty remove";
        gap:7px 10px;
    }
    .ble-choice-selected-img{grid-area:img}
    .ble-choice-selected-info{grid-area:info}
    .ble-choice-selected-price{
        grid-area:price;
        text-align:left;
    }
    .ble-choice-qtd{
        grid-area:qty;
        max-width:132px;
    }
    .ble-choice-remove{
        grid-area:remove;
        align-self:center;
    }
}

@media(max-width:560px){
    .ble-choice-item{
        grid-template-columns:1fr;
    }
    .ble-choice-search{
        width:100%;
    }
}


/* v0.2.2 - opções da categoria carregadas automaticamente */
.ble-product-search-row{
    margin-top:10px;
}
.ble-product-search{
    background:#fff !important;
}
.ble-product-results{
    max-height:52vh;
    overflow-y:auto;
    padding-right:3px;
}
.ble-search-product{
    transition:background .15s ease,border-color .15s ease;
}
.ble-search-product:hover{
    background:#fffaf6;
    border-color:#f3d7bf;
}

@media(max-width:560px){
    .ble-product-results{
        max-height:58vh;
    }
    .ble-product-modal-card{
        max-height:90vh;
    }
}

/* v0.3.0 - links para página de escolha */
a.ble-change-product,
a.ble-choice-search{
    text-decoration:none;
}
a.ble-change-product{
    display:inline-block;
}
a.ble-choice-search{
    text-align:center;
}


/* v0.3.2 - mantém Alterar produto mesmo sem mapeamento */
.ble-change-product-unmapped{
    display:inline-block!important;
    border:0!important;
    background:transparent!important;
    color:#EF5C0E!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.2!important;
    padding:4px 0!important;
    margin:4px 0 0!important;
    min-height:0!important;
    text-decoration:underline!important;
    cursor:pointer!important;
}
.ble-change-product-unmapped:hover{
    color:#F28A4A!important;
    background:transparent!important;
}


/* ==================================================
   v0.3.3 - RESPONSIVO DA LISTA ESCOLAR
   990px–881px: itens ainda em linha
   <=880px: layout mobile centralizado
================================================== */

/* TABLET / NOTEBOOK ESTREITO: MANTÉM LINHA */
@media (max-width: 990.98px) and (min-width: 881px) {

    .ble-wrap{
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) 270px !important;
        gap:14px !important;
        padding:16px 14px 32px !important;
    }

    .ble-main{
        min-width:0 !important;
    }

    .ble-summary{
        position:sticky !important;
        top:18px !important;
        width:auto !important;
    }

    .ble-hero{
        grid-template-columns:minmax(0,1fr) 235px !important;
        gap:18px !important;
        padding:20px !important;
    }

    .ble-total-card{
        min-height:170px !important;
        padding:18px 14px !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .ble-total-card > small{
        font-size:13px !important;
        line-height:1.3 !important;
    }

    .ble-total-card > strong{
        font-size:34px !important;
        line-height:1.1 !important;
        margin:6px 0 4px !important;
    }

    .ble-item{
        display:grid !important;
        grid-template-columns:48px minmax(0,1fr) 92px 126px 36px !important;
        grid-template-areas:none !important;
        gap:8px !important;
        align-items:center !important;
        padding:12px 0 !important;
    }

    .ble-item-img,
    .ble-item-name,
    .ble-item-price,
    .ble-item-qtd,
    .ble-remove{
        grid-area:auto !important;
        grid-column:auto !important;
        grid-row:auto !important;
    }

    .ble-item-img{
        width:44px !important;
        height:44px !important;
    }

    .ble-item-img img,
    .ble-noimg{
        width:42px !important;
        height:42px !important;
    }

    .ble-item-name strong{
        font-size:13px !important;
    }

    .ble-item-name small,
    .ble-change-product{
        font-size:11px !important;
    }

    .ble-item-price{
        text-align:right !important;
        font-size:13px !important;
    }

    .ble-item-qtd{
        width:126px !important;
        min-width:126px !important;
        max-width:126px !important;
    }

    .ble-item-qtd button{
        width:34px !important;
        min-width:34px !important;
        height:36px !important;
        min-height:36px !important;
    }

    .ble-item-qtd input{
        height:36px !important;
    }

    .ble-remove{
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
        min-height:34px !important;
    }
}


/* MOBILE / TABLET MENOR: CENTRALIZA A LEITURA */
@media (max-width: 880px) {

    .ble-wrap{
        display:flex !important;
        flex-direction:column !important;
        padding:14px 12px 28px !important;
        gap:12px !important;
    }

    .ble-main{
        order:1 !important;
    }

    .ble-summary{
        order:2 !important;
        position:static !important;
        width:100% !important;
    }

    .ble-hero{
        display:block !important;
        padding:20px !important;
    }

    .ble-total-card{
        width:100% !important;
        min-height:130px !important;
        margin-top:22px !important;
        padding:20px 16px !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .ble-total-card > small{
        font-size:13px !important;
        line-height:1.35 !important;
        text-align:center !important;
    }

    .ble-total-card > strong{
        font-size:36px !important;
        line-height:1.05 !important;
        margin:8px 0 2px !important;
        text-align:center !important;
    }

    .ble-total-card span{
        width:100% !important;
        max-width:420px !important;
        margin:0 auto !important;
    }

    .ble-section{
        padding:18px !important;
    }

    .ble-section > h3{
        text-align:left !important;
    }

    .ble-item{
        display:grid !important;
        grid-template-columns:1fr 38px !important;
        grid-template-areas:
            "main remove"
            "price remove"
            "qty remove" !important;
        gap:8px 12px !important;
        padding:17px 4px !important;
        align-items:center !important;
    }

    .ble-item-img{
        display:none !important;
    }

    .ble-item-name{
        grid-area:main !important;
        min-width:0 !important;
        text-align:left !important;
        padding:0 !important;
    }

    .ble-item-name strong{
        font-size:15px !important;
        line-height:1.35 !important;
    }

    .ble-item-name small{
        font-size:12px !important;
        line-height:1.35 !important;
    }

    .ble-change-product{
        font-size:12px !important;
        margin-top:5px !important;
    }

    .ble-item-price{
        grid-area:price !important;
        text-align:left !important;
        font-size:13px !important;
        padding:0 !important;
    }

    .ble-item-qtd{
        grid-area:qty !important;
        width:165px !important;
        min-width:165px !important;
        max-width:165px !important;
        margin:4px 0 0 !important;
    }

    .ble-item-qtd button{
        width:44px !important;
        min-width:44px !important;
        height:42px !important;
        min-height:42px !important;
    }

    .ble-item-qtd input{
        height:42px !important;
        font-size:15px !important;
    }

    .ble-remove{
        grid-area:remove !important;
        align-self:center !important;
        justify-self:center !important;
    }
}


/* CELULAR: CENTRALIZA MAIS O CONJUNTO DE CADA ITEM */
@media (max-width: 560px) {

    .ble-section{
        padding:16px 14px !important;
    }

    .ble-item{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "main"
            "price"
            "qty"
            "remove" !important;
        justify-items:center !important;
        text-align:center !important;
        gap:8px !important;
        padding:18px 6px !important;
    }

    .ble-item-name,
    .ble-item-price{
        text-align:center !important;
        width:100% !important;
    }

    .ble-item-name strong,
    .ble-item-name small{
        text-align:center !important;
    }

    .ble-item-qtd{
        margin:5px auto 0 !important;
    }

    .ble-remove{
        margin-top:2px !important;
    }

    .ble-total-card > strong{
        font-size:38px !important;
    }
}


/* v0.3.4 - retorno ao ponto da lista */
.ble-item,
.ble-choice-item{
    scroll-margin-top:120px;
}

.ble-return-highlight{
    position:relative;
    border-radius:10px;
    animation:ble-return-pulse 1.8s ease;
}

@keyframes ble-return-pulse{
    0%{
        background:rgba(239,92,14,.16);
        box-shadow:0 0 0 3px rgba(239,92,14,.18);
    }
    45%{
        background:rgba(239,92,14,.08);
        box-shadow:0 0 0 2px rgba(239,92,14,.10);
    }
    100%{
        background:transparent;
        box-shadow:none;
    }
}

@media(max-width:880px){
    .ble-item,
    .ble-choice-item{
        scroll-margin-top:90px;
    }
}


/* ==================================================
   v0.4.0 - SALVAMENTO AUTOMÁTICO DA SELEÇÃO
================================================== */
.ble-draft-tools{
    margin:12px 0 2px;
    padding:10px 0 0;
    border-top:1px solid #eeeeee;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
}

.ble-draft-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#4f8152;
    font-size:12px;
    line-height:1.35;
}

.ble-draft-status::before{
    content:"✓";
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eef8ee;
    color:#4f8152;
    font-size:11px;
    font-weight:800;
}

.ble-draft-status[data-mode="restored"]{
    color:#7a652d;
}

.ble-draft-status[data-mode="restored"]::before{
    content:"↻";
    background:#fff8df;
    color:#8b6f23;
}

.ble-draft-status[data-mode="error"]{
    color:#a34e00;
}

.ble-draft-status[data-mode="error"]::before{
    content:"!";
    background:#fff1e8;
    color:#a34e00;
}

.ble-reset-list{
    border:0!important;
    background:transparent!important;
    color:#777777!important;
    padding:2px 0!important;
    min-height:0!important;
    font-size:11px!important;
    line-height:1.3!important;
    text-decoration:underline!important;
    cursor:pointer!important;
}

.ble-reset-list:hover{
    color:#EF5C0E!important;
    background:transparent!important;
}

@media(max-width:880px){
    .ble-draft-tools{
        align-items:center;
        text-align:center;
    }
}


/* ==================================================
   v0.4.1 - RASCUNHO NO TOPO DA LISTA
================================================== */
.ble-draft-topbar{
    width:100%;
    margin:0 0 12px;
    padding:13px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border:1px solid #d7ead7;
    border-radius:10px;
    background:#f3faf3;
    box-sizing:border-box;
}
.ble-draft-topbar .ble-draft-status{
    font-size:14px;
    font-weight:700;
}
.ble-draft-topbar .ble-draft-status::before{
    width:22px;
    height:22px;
    flex:0 0 22px;
    font-size:12px;
}
.ble-draft-topbar .ble-reset-list{
    font-size:12px!important;
    font-weight:600!important;
    color:#666!important;
    white-space:nowrap;
    text-decoration:underline!important;
}
.ble-draft-topbar .ble-reset-list:hover{
    color:#EF5C0E!important;
}
.ble-item-price .ble-stock-warning{
    display:inline-block;
    margin:0;
}
@media(max-width:880px){
    .ble-draft-topbar{
        flex-direction:column;
        justify-content:center;
        text-align:center;
        gap:7px;
        padding:12px 14px;
    }
}


/* ==================================================
   v0.5.1 - AJUSTES DE TEXTO E IMAGENS RESPONSIVAS
================================================== */

.ble-under-cart .ble-open-important{
    display:inline-block;
    margin-top:5px;
}

/* Tablet/mobile: mantém a imagem do produto visível. */
@media (max-width: 880px){

    .ble-item{
        grid-template-columns:54px minmax(0,1fr) 38px !important;
        grid-template-areas:
            "img main remove"
            "img price remove"
            "img qty remove" !important;
        column-gap:12px !important;
        row-gap:8px !important;
        justify-items:stretch !important;
        text-align:left !important;
    }

    .ble-item-img{
        grid-area:img !important;
        display:flex !important;
        width:50px !important;
        height:50px !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:start !important;
        margin-top:2px !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        display:block !important;
        width:48px !important;
        height:48px !important;
        max-width:48px !important;
        object-fit:contain !important;
    }

    .ble-item-name{
        grid-area:main !important;
    }

    .ble-item-price{
        grid-area:price !important;
        text-align:left !important;
    }

    .ble-item-qtd{
        grid-area:qty !important;
        justify-self:start !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .ble-remove{
        grid-area:remove !important;
    }
}

/* Celular estreito: foto fica centralizada acima do nome. */
@media (max-width: 560px){

    .ble-item{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "img"
            "main"
            "price"
            "qty"
            "remove" !important;
        justify-items:center !important;
        text-align:center !important;
    }

    .ble-item-img{
        grid-area:img !important;
        display:flex !important;
        width:64px !important;
        height:64px !important;
        margin:0 auto 3px !important;
        align-self:center !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        width:62px !important;
        height:62px !important;
        max-width:62px !important;
    }

    .ble-item-name,
    .ble-item-price{
        text-align:center !important;
    }

    .ble-item-qtd{
        justify-self:center !important;
        margin:5px auto 0 !important;
    }
}


/* ==================================================
   v0.5.2 - AJUSTES DE TOTAL, AÇÕES E RESPONSIVO
================================================== */

/* Total principal novamente com mais destaque */
.ble-total-card .ble-total-value,
.ble-total-card .ble-total-main,
.ble-total-card > strong,
.ble-total-card .amount{
    font-size:26px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    color:#EF5C0E !important;
}

/* Caso o valor principal use estrutura com spans separados */
.ble-total-card .ble-total-value .woocommerce-Price-currencySymbol,
.ble-total-card .ble-total-main .woocommerce-Price-currencySymbol{
    font-size:.72em !important;
    vertical-align:baseline !important;
}

/* Links de ação padronizados */
.ble-change-product,
.ble-choice-search,
.ble-choice-change,
.ble-alternative-product{
    text-transform:uppercase !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
}

/* Lixeira: impede que o SVG seja cortado/comprimido */
.ble-remove,
.ble-choice-remove{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    line-height:1 !important;
    box-sizing:border-box !important;
    align-self:center !important;
}

.ble-remove svg,
.ble-choice-remove svg{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    display:block !important;
    overflow:visible !important;
    fill:currentColor !important;
}

/* --------------------------------------------------
   880px para baixo:
   imagem + conteúdo no topo e quantidade/lixeira
   agrupadas, evitando linha vazia longa.
-------------------------------------------------- */
@media (max-width: 880px){

    .ble-item{
        grid-template-columns:58px minmax(0,1fr) auto !important;
        grid-template-areas:
            "img main main"
            "img price price"
            "img qty remove" !important;
        column-gap:14px !important;
        row-gap:9px !important;
        align-items:center !important;
        justify-items:stretch !important;
        padding:18px 0 !important;
        text-align:left !important;
    }

    .ble-item-img{
        grid-area:img !important;
        width:54px !important;
        height:54px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:start !important;
        margin:0 !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        width:52px !important;
        height:52px !important;
        max-width:52px !important;
        object-fit:contain !important;
        display:block !important;
    }

    .ble-item-name{
        grid-area:main !important;
        min-width:0 !important;
        padding-right:0 !important;
    }

    .ble-item-price{
        grid-area:price !important;
        justify-self:start !important;
        text-align:left !important;
        margin:0 !important;
    }

    .ble-item-qtd{
        grid-area:qty !important;
        justify-self:start !important;
        margin:0 !important;
    }

    .ble-remove{
        grid-area:remove !important;
        justify-self:end !important;
        align-self:center !important;
        margin:0 !important;
    }

    .ble-item-name .ble-change-product,
    .ble-item-name .ble-alternative-product{
        display:inline-block !important;
        margin-top:5px !important;
    }
}

/* --------------------------------------------------
   560px para baixo:
   foto acima; quantidade e lixeira ficam na MESMA LINHA.
-------------------------------------------------- */
@media (max-width: 560px){

    .ble-item{
        grid-template-columns:minmax(0,1fr) 44px !important;
        grid-template-areas:
            "img img"
            "main main"
            "price price"
            "qty remove" !important;
        column-gap:10px !important;
        row-gap:9px !important;
        justify-items:center !important;
        text-align:center !important;
        padding:18px 0 !important;
    }

    .ble-item-img{
        grid-area:img !important;
        width:68px !important;
        height:68px !important;
        margin:0 auto 2px !important;
        align-self:center !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        width:66px !important;
        height:66px !important;
        max-width:66px !important;
    }

    .ble-item-name{
        grid-area:main !important;
        text-align:center !important;
        width:100% !important;
    }

    .ble-item-price{
        grid-area:price !important;
        justify-self:center !important;
        text-align:center !important;
        width:100% !important;
    }

    .ble-item-qtd{
        grid-area:qty !important;
        justify-self:end !important;
        margin:4px 0 0 !important;
    }

    .ble-remove{
        grid-area:remove !important;
        justify-self:start !important;
        margin:4px 0 0 0 !important;
    }
}


/* ==================================================
   v0.5.3 - REFINO TOTAL + CENTRALIZAÇÃO MOBILE
================================================== */

/* Somente o TOTAL PRINCIPAL fica grande. */
.ble-total-card > strong.ble-total-value,
.ble-total-card > strong.ble-total-value .amount,
.ble-total-card > strong.ble-total-value .woocommerce-Price-amount{
    font-size:30px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    color:#EF5C0E !important;
}

.ble-total-card > strong.ble-total-value{
    display:flex !important;
    justify-content:center !important;
    align-items:baseline !important;
    width:100% !important;
    margin:6px auto 5px !important;
    text-align:center !important;
}

/* As divisões voltam a ser discretas. */
.ble-total-card > span{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    column-gap:16px !important;
    width:100% !important;
    font-size:13px !important;
    line-height:1.35 !important;
    color:#333 !important;
    text-align:left !important;
}

.ble-total-card > span > b,
.ble-total-card > span > b .amount,
.ble-total-card > span > b .woocommerce-Price-amount,
.ble-total-card > span .amount{
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    color:#222 !important;
}

/* Evita que a regra genérica da v0.5.2 pinte/aumente valores secundários. */
.ble-total-card > span .woocommerce-Price-currencySymbol{
    font-size:inherit !important;
    color:inherit !important;
}

/* Até 560px: quantidade + lixeira formam um único grupo centralizado. */
@media (max-width:560px){
    .ble-item{
        grid-template-columns:auto auto !important;
        grid-template-areas:
            "img img"
            "main main"
            "price price"
            "qty remove" !important;
        justify-content:center !important;
        justify-items:center !important;
        column-gap:10px !important;
    }

    .ble-item-name,
    .ble-item-price{
        width:100% !important;
        max-width:100% !important;
    }

    .ble-item-qtd{
        justify-self:end !important;
        margin:4px 0 0 !important;
    }

    .ble-remove{
        justify-self:start !important;
        margin:4px 0 0 !important;
    }

    .ble-total-card > strong.ble-total-value,
    .ble-total-card > strong.ble-total-value .amount,
    .ble-total-card > strong.ble-total-value .woocommerce-Price-amount{
        font-size:30px !important;
    }

    .ble-total-card > span,
    .ble-total-card > span > b,
    .ble-total-card > span > b .amount,
    .ble-total-card > span .amount{
        font-size:13px !important;
    }
}


/* ==================================================
   v0.5.4 - ITEM RESPONSIVO EM DUAS COLUNAS
================================================== */

/*
  880px para baixo:
  esquerda = imagem + descrição/preço
  direita  = quantidade + lixeira
*/
@media (max-width: 880px){

    .ble-item{
        grid-template-columns:58px minmax(0,1fr) auto !important;
        grid-template-areas:
            "img main controls"
            "img price controls" !important;
        column-gap:14px !important;
        row-gap:7px !important;
        align-items:center !important;
        justify-items:stretch !important;
        padding:17px 0 !important;
        text-align:left !important;
    }

    .ble-item-img{
        grid-area:img !important;
        width:54px !important;
        height:54px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:center !important;
        margin:0 !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        width:52px !important;
        height:52px !important;
        max-width:52px !important;
        object-fit:contain !important;
        display:block !important;
    }

    .ble-item-name{
        grid-area:main !important;
        min-width:0 !important;
        text-align:left !important;
    }

    .ble-item-price{
        grid-area:price !important;
        justify-self:start !important;
        text-align:left !important;
        margin:0 !important;
    }

    /*
      Quantidade e lixeira ficam lado a lado na coluna direita.
      Como são dois elementos separados no HTML, usamos a mesma área
      e posicionamento horizontal complementar.
    */
    .ble-item-qtd{
        grid-area:controls !important;
        justify-self:end !important;
        align-self:center !important;
        margin:0 44px 0 0 !important;
    }

    .ble-remove{
        grid-area:controls !important;
        justify-self:end !important;
        align-self:center !important;
        margin:0 !important;
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:8px !important;
    }

    .ble-remove svg{
        width:18px !important;
        height:18px !important;
    }
}

/*
  Celular estreito:
  ainda mantém duas áreas, mas a imagem vai acima da descrição.
  A quantidade + lixeira continuam juntas à direita.
*/
@media (max-width: 560px){

    .ble-item{
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "img controls"
            "main controls"
            "price controls" !important;
        column-gap:12px !important;
        row-gap:7px !important;
        align-items:center !important;
        justify-items:start !important;
        text-align:left !important;
        padding:16px 0 !important;
    }

    .ble-item-img{
        grid-area:img !important;
        width:58px !important;
        height:58px !important;
        margin:0 0 2px 0 !important;
        justify-self:start !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        width:56px !important;
        height:56px !important;
        max-width:56px !important;
    }

    .ble-item-name{
        grid-area:main !important;
        width:100% !important;
        text-align:left !important;
    }

    .ble-item-price{
        grid-area:price !important;
        width:100% !important;
        justify-self:start !important;
        text-align:left !important;
    }

    .ble-item-qtd{
        grid-area:controls !important;
        justify-self:end !important;
        align-self:center !important;
        margin:0 42px 0 0 !important;
    }

    .ble-remove{
        grid-area:controls !important;
        justify-self:end !important;
        align-self:center !important;
        margin:0 !important;
    }
}

/* Muito estreito: reduz um pouco o controle para evitar aperto. */
@media (max-width: 420px){

    .ble-item{
        grid-template-columns:minmax(0,1fr) auto !important;
        column-gap:8px !important;
    }

    .ble-item-qtd{
        transform:scale(.92);
        transform-origin:right center;
        margin-right:38px !important;
    }

    .ble-remove{
        width:34px !important;
        min-width:34px !important;
        height:34px !important;
        min-height:34px !important;
        padding:7px !important;
    }
}


/* ==================================================
   v0.5.5 - MOBILE <= 560px: CONTROLES NA ÚLTIMA LINHA
================================================== */
@media (max-width: 560px){

    .ble-item{
        grid-template-columns:minmax(0,1fr) 44px !important;
        grid-template-areas:
            "img img"
            "main main"
            "price price"
            "qty remove" !important;
        column-gap:8px !important;
        row-gap:9px !important;
        align-items:center !important;
        justify-items:center !important;
        text-align:center !important;
        padding:18px 0 !important;
    }

    .ble-item-img{
        grid-area:img !important;
        width:68px !important;
        height:68px !important;
        margin:0 auto 2px !important;
        justify-self:center !important;
        align-self:center !important;
    }

    .ble-item-img img,
    .ble-item-img .ble-thumb,
    .ble-noimg{
        width:66px !important;
        height:66px !important;
        max-width:66px !important;
        object-fit:contain !important;
    }

    .ble-item-name{
        grid-area:main !important;
        width:100% !important;
        text-align:center !important;
        justify-self:center !important;
    }

    .ble-item-price{
        grid-area:price !important;
        width:100% !important;
        text-align:center !important;
        justify-self:center !important;
        margin:0 !important;
    }

    .ble-item-qtd{
        grid-area:qty !important;
        justify-self:end !important;
        align-self:center !important;
        margin:4px 0 0 !important;
        transform:none !important;
    }

    .ble-remove{
        grid-area:remove !important;
        justify-self:start !important;
        align-self:center !important;
        margin:4px 0 0 !important;
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:8px !important;
    }
}

@media (max-width: 420px){

    .ble-item{
        grid-template-columns:minmax(0,1fr) 42px !important;
        column-gap:6px !important;
    }

    .ble-item-qtd{
        transform:scale(.94) !important;
        transform-origin:right center !important;
        margin-right:0 !important;
    }

    .ble-remove{
        width:34px !important;
        min-width:34px !important;
        height:34px !important;
        min-height:34px !important;
        padding:7px !important;
    }
}


/* ==================================================
   v0.5.6 - CENTRALIZAÇÃO REAL DOS CONTROLES NO MOBILE
================================================== */
@media (max-width: 560px){

    .ble-item{
        grid-template-columns:1fr auto auto 1fr !important;
        grid-template-areas:
            "img img img img"
            "main main main main"
            "price price price price"
            ". qty remove ." !important;
        column-gap:8px !important;
        row-gap:9px !important;
        justify-items:center !important;
        align-items:center !important;
        text-align:center !important;
    }

    .ble-item-img{
        grid-area:img !important;
        justify-self:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .ble-item-name{
        grid-area:main !important;
        justify-self:center !important;
        text-align:center !important;
        width:100% !important;
    }

    .ble-item-price{
        grid-area:price !important;
        justify-self:center !important;
        text-align:center !important;
        width:100% !important;
    }

    .ble-item-qtd{
        grid-area:qty !important;
        justify-self:end !important;
        align-self:center !important;
        margin:4px 0 0 0 !important;
        transform:none !important;
    }

    .ble-remove{
        grid-area:remove !important;
        justify-self:start !important;
        align-self:center !important;
        margin:4px 0 0 0 !important;
    }
}

@media (max-width: 420px){

    .ble-item{
        grid-template-columns:1fr auto auto 1fr !important;
        column-gap:6px !important;
    }

    .ble-item-qtd{
        transform:scale(.94) !important;
        transform-origin:center center !important;
        margin:4px 0 0 0 !important;
    }
}


/* ==================================================
   v0.6.0 - LOGO DO COLÉGIO NA LISTA
================================================== */
.ble-hero-info{
    min-width:0;
}

.ble-hero-school-logo{
    width:76px;
    height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 12px;
    padding:7px;
    border:1px solid #eee7df;
    border-radius:12px;
    background:#fff;
}

.ble-hero-school-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

@media(max-width:880px){
    .ble-hero-school-logo{
        width:68px;
        height:68px;
    }
}

@media(max-width:560px){
    .ble-hero-school-logo{
        margin-left:auto;
        margin-right:auto;
    }
}


/* ==================================================
   v0.7.0 - LISTA -> CARRINHO WOOCOMMERCE
================================================== */
.ble-cart-placeholder:disabled{
    opacity:.65;
    cursor:wait;
}

.ble-cart-feedback{
    margin:10px 0 2px;
    padding:11px 12px;
    border-radius:9px;
    font-size:12px;
    line-height:1.45;
}

.ble-cart-feedback strong{
    display:block;
}

.ble-cart-feedback ul{
    margin:7px 0 0 18px;
    padding:0;
}

.ble-cart-feedback-error{
    background:#fff3ef;
    border:1px solid #f3c7b7;
    color:#94411d;
}

.ble-cart-feedback-success{
    background:#f1f8f1;
    border:1px solid #cfe6cf;
    color:#47764a;
}


/* ==================================================
   v0.8.2 - VISIBILIDADE DO MATERIAL COLETIVO
================================================== */
.ble-voucher-fields[hidden],
.ble-vale-itens[hidden],
.ble-vale-status[hidden],
.ble-vale-alter-group[hidden],
.ble-vale-alter-separator[hidden]{
    display:none !important;
}
