/* Primaster Site Connector 1.2.2 — carrinho retrátil */
:root{
    --primaster-cart-empty:#E91E63;
    --primaster-cart-empty-hover:#C2185B;
    --primaster-cart-filled:#376b55;
    --primaster-cart-filled-hover:#2d5c48;
    --primaster-cart-navy:#173b6c;
    --primaster-cart-gold:#b18a37;
    --primaster-cart-text:#172033;
    --primaster-cart-muted:#667085;
    --primaster-cart-border:#e1e6eb;
    --primaster-cart-surface:#ffffff;
}
html.primaster-cart-open{overflow:hidden;}
.primaster-cart-ui{position:relative;z-index:99990;}
/* O atributo HTML hidden precisa prevalecer sobre os displays definidos pelo próprio plugin/tema. */
.primaster-cart-ui [hidden]{display:none!important;}
.primaster-cart-trigger{
    position:fixed!important;
    z-index:99993;
    top:50%;
    right:18px;
    display:flex!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:0!important;
    margin:0!important;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:16px 0 0 16px!important;
    background:var(--primaster-cart-empty)!important;
    box-shadow:0 10px 28px rgba(20,31,45,.18)!important;
    color:#fff!important;
    cursor:pointer;
    appearance:none!important;
    transform:translateY(-50%);
    transition:background-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.primaster-cart-ui[data-state="filled"] .primaster-cart-trigger,
.primaster-cart-ui.is-filled .primaster-cart-trigger{background:var(--primaster-cart-filled)!important;}
.primaster-cart-trigger__icon{width:25px;height:25px;display:block;}
.primaster-cart-trigger__badge{
    position:absolute;
    top:-7px;
    left:-7px;
    display:flex;
    min-width:23px;
    height:23px;
    padding:0 6px;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
    border-radius:999px;
    background:#f5f7fa;
    color:#27364a;
    font-size:11px;
    font-weight:800;
    line-height:1;
    box-sizing:border-box;
}
.primaster-cart-ui.is-pulsing .primaster-cart-trigger{animation:primaster-cart-pulse .46s ease;}
@keyframes primaster-cart-pulse{50%{transform:translateY(-50%) scale(1.08);}}
@media (hover:hover) and (pointer:fine){
    .primaster-cart-ui[data-state="empty"] .primaster-cart-trigger:hover,
    .primaster-cart-ui.is-empty .primaster-cart-trigger:hover{background:var(--primaster-cart-empty-hover)!important;transform:translateY(-50%) translateX(-2px);}
    .primaster-cart-ui[data-state="filled"] .primaster-cart-trigger:hover,
    .primaster-cart-ui.is-filled .primaster-cart-trigger:hover{background:var(--primaster-cart-filled-hover)!important;transform:translateY(-50%) translateX(-2px);}
}
.primaster-cart-overlay{
    position:fixed;
    z-index:99991;
    inset:0;
    background:rgba(16,24,40,.36);
    opacity:0;
    backdrop-filter:blur(2px);
    transition:opacity .22s ease;
}
.primaster-cart-overlay.is-visible{opacity:1;}
.primaster-cart-drawer{
    position:fixed;
    z-index:99994;
    top:0;
    right:0;
    display:flex;
    width:min(410px,92vw);
    height:100dvh;
    flex-direction:column;
    background:var(--primaster-cart-surface);
    box-shadow:-18px 0 48px rgba(15,23,42,.18);
    color:var(--primaster-cart-text);
    visibility:hidden;
    transform:translateX(104%);
    transition:transform .28s cubic-bezier(.22,.8,.22,1),visibility .28s;
}
.primaster-cart-drawer.is-open{visibility:visible;transform:translateX(0);}
.primaster-cart-drawer__header{
    display:flex;
    min-height:82px;
    padding:18px 20px;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid var(--primaster-cart-border);
    background:#fff;
    box-sizing:border-box;
}
.primaster-cart-drawer__eyebrow{display:block;margin-bottom:2px;color:var(--primaster-cart-gold);font-size:.69rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.primaster-cart-drawer__title{margin:0!important;color:var(--primaster-cart-text)!important;font-size:1.25rem!important;font-weight:750!important;line-height:1.2!important;}
.primaster-cart-drawer__close{
    display:flex!important;
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
    padding:0!important;margin:0!important;align-items:center;justify-content:center;
    border:1px solid #d8dee5!important;border-radius:10px!important;background:#fff!important;color:#475467!important;
    font-family:Arial,sans-serif!important;font-size:28px!important;font-weight:300!important;line-height:1!important;cursor:pointer;
}
.primaster-cart-drawer__body{position:relative;flex:1;min-height:0;overflow-y:auto;padding:8px 20px 20px;overscroll-behavior:contain;}
.primaster-cart-loading{padding:11px 0;color:var(--primaster-cart-muted);font-size:.84rem;}
.primaster-cart-empty{display:flex;min-height:45vh;padding:36px 18px;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--primaster-cart-muted);box-sizing:border-box;}
.primaster-cart-empty__icon{display:flex;width:54px;height:54px;margin-bottom:14px;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:50%;background:#f8fafc;color:#98a2b3;font-size:28px;}
.primaster-cart-empty strong{margin-bottom:5px;color:#344054;font-size:1rem;}
.primaster-cart-empty span:last-child{font-size:.88rem;line-height:1.45;}
.primaster-cart-items{display:flex;flex-direction:column;}
.primaster-cart-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:13px;padding:16px 0;border-bottom:1px solid #edf0f3;}
.primaster-cart-item__image-link{display:flex;width:76px;height:76px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #edf0f3;border-radius:9px;background:#fff;text-decoration:none;}
.primaster-cart-item__image{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center;padding:5px;box-sizing:border-box;}
.primaster-cart-item__image--placeholder{width:76px;height:76px;border-radius:9px;background:#f4f6f8;}
.primaster-cart-item__content{min-width:0;}
.primaster-cart-item__name{display:-webkit-box;overflow:hidden;margin:1px 0 6px;color:#253247;font-size:.91rem;font-weight:700;line-height:1.35;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.primaster-cart-item__meta{color:var(--primaster-cart-muted);font-size:.81rem;line-height:1.35;}
.primaster-cart-item__line-total{margin-top:5px;color:#172033;font-size:.91rem;font-weight:750;}
.primaster-cart-item__remove{display:inline-block!important;width:auto!important;min-width:0!important;min-height:0!important;margin:7px 0 0!important;padding:0!important;border:0!important;background:none!important;color:#8a4147!important;font-size:.78rem!important;font-weight:650!important;line-height:1.3!important;text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.primaster-cart-item__remove:disabled{opacity:.55;cursor:wait;}
.primaster-cart-drawer__footer{padding:16px 20px 20px;border-top:1px solid var(--primaster-cart-border);background:#fbfcfd;box-shadow:0 -8px 24px rgba(15,23,42,.04);}
.primaster-cart-subtotal{display:flex;margin-bottom:14px;align-items:center;justify-content:space-between;gap:15px;color:#475467;font-size:.9rem;}
.primaster-cart-subtotal strong{color:#172033;font-size:1.08rem;}
.primaster-cart-drawer__actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;}
.primaster-cart-button{display:flex!important;min-height:44px;padding:10px 12px!important;align-items:center;justify-content:center;border-radius:9px;font-size:.86rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none!important;box-sizing:border-box;}
.primaster-cart-button--secondary{border:1px solid #cfd6de;background:#fff;color:#344054!important;}
.primaster-cart-button--primary{border:1px solid var(--primaster-cart-navy);background:var(--primaster-cart-navy);color:#fff!important;}
.primaster-cart-continue{display:block;margin-top:11px;color:#667085!important;font-size:.8rem;font-weight:600;text-align:center;text-decoration:none!important;}
@media (hover:hover) and (pointer:fine){
    .primaster-cart-button--secondary:hover{background:#f7f9fb;color:#172033!important;}
    .primaster-cart-button--primary:hover{background:#102f59;border-color:#102f59;color:#fff!important;}
    .primaster-cart-continue:hover{color:#344054!important;text-decoration:underline!important;}
}
.primaster-cart-toast{
    position:fixed;
    z-index:99996;
    right:22px;
    bottom:24px;
    max-width:min(340px,calc(100vw - 32px));
    padding:11px 15px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:10px;
    background:#2f604c;
    box-shadow:0 12px 32px rgba(15,23,42,.19);
    color:#fff;
    font-size:.88rem;
    font-weight:650;
    line-height:1.35;
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
    transition:opacity .2s ease,transform .2s ease;
}
.primaster-cart-toast[data-type="error"]{background:#844047;}
.primaster-cart-toast.is-visible{opacity:1;transform:translateY(0);}
[data-primaster-add-to-cart].is-loading{opacity:.72;pointer-events:none;cursor:wait;}
@media (max-width:767px){
    .primaster-cart-trigger{
        top:auto;
        right:14px;
        bottom:18px;
        width:54px!important;height:54px!important;
        border-radius:16px!important;
        transform:none;
    }
    @keyframes primaster-cart-pulse{50%{transform:scale(1.08);}}
    @media (hover:hover) and (pointer:fine){
        .primaster-cart-ui[data-state="empty"] .primaster-cart-trigger:hover,
        .primaster-cart-ui[data-state="filled"] .primaster-cart-trigger:hover{transform:none;}
    }
    .primaster-cart-drawer{width:100%;max-width:100%;}
    .primaster-cart-drawer__header{min-height:74px;padding:15px 16px;}
    .primaster-cart-drawer__body{padding:5px 16px 16px;}
    .primaster-cart-drawer__footer{padding:14px 16px calc(16px + env(safe-area-inset-bottom));}
    .primaster-cart-drawer__actions{grid-template-columns:1fr;}
    .primaster-cart-button{min-height:46px;}
    .primaster-cart-toast{right:16px;bottom:84px;left:16px;max-width:none;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
    .primaster-cart-trigger,.primaster-cart-drawer,.primaster-cart-overlay,.primaster-cart-toast{transition:none!important;animation:none!important;}
}

/* Primaster Core 0.1.1 — carrinho nativo WooCommerce */
body.woocommerce-cart .woocommerce-cart-form{
    width:64%;
    float:left;
    margin:0 0 32px;
}
body.woocommerce-cart .cart-collaterals{
    width:32%;
    float:right;
    margin:0 0 32px;
}
body.woocommerce-cart .cart-collaterals .cart_totals{
    float:none;
    width:100%;
    position:sticky;
    top:24px;
    padding:24px;
    border:1px solid #e3e8ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 32px rgba(23,32,51,.07);
    box-sizing:border-box;
}
body.woocommerce-cart .cart-collaterals .cart_totals h2{
    margin:0 0 18px!important;
    color:#172033;
    font-size:1.25rem!important;
    font-weight:750!important;
}
body.woocommerce-cart .woocommerce-cart-form__contents{
    border:1px solid #e3e8ee!important;
    border-radius:16px;
    border-collapse:separate!important;
    border-spacing:0;
    overflow:hidden;
    background:#fff;
    box-shadow:0 12px 32px rgba(23,32,51,.05);
}
body.woocommerce-cart .woocommerce-cart-form__contents thead th{
    padding:15px 14px!important;
    border:0!important;
    border-bottom:1px solid #e8edf2!important;
    background:#f8fafc;
    color:#667085;
    font-size:.76rem;
    font-weight:750;
    letter-spacing:.035em;
    text-transform:uppercase;
}
body.woocommerce-cart .woocommerce-cart-form__cart-item td{
    padding:18px 14px!important;
    border:0!important;
    border-bottom:1px solid #edf0f3!important;
    vertical-align:middle!important;
}
body.woocommerce-cart td.product-thumbnail img,
body.woocommerce-cart .primaster-course-cart-thumb{
    width:74px!important;
    height:74px!important;
    padding:4px;
    border:1px solid #edf0f3;
    border-radius:10px;
    background:#fff;
    object-fit:contain!important;
    box-sizing:border-box;
}
body.woocommerce-cart td.product-name a{
    color:#253247!important;
    font-weight:700;
    text-decoration:none!important;
}
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
    color:#172033;
    font-weight:700;
}
body.woocommerce-cart .quantity .qty{
    width:72px!important;
    min-height:42px;
    padding:8px 10px!important;
    border:1px solid #d7dee7!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#253247!important;
    font-weight:700;
    text-align:center;
}
body.woocommerce-cart .product-remove a.remove.primaster-remove-item{
    display:inline-flex!important;
    width:38px!important;
    height:38px!important;
    align-items:center;
    justify-content:center;
    border:1px solid #eadfe1!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#8a4147!important;
    font-size:0!important;
    text-decoration:none!important;
}
body.woocommerce-cart .product-remove a.remove.primaster-remove-item svg{width:19px;height:19px;display:block;}
body.woocommerce-cart .product-remove a.remove.primaster-remove-item:hover{background:#fff7f8!important;color:#6f3036!important;}
body.woocommerce-cart .woocommerce-cart-form td.actions{padding:16px!important;background:#fbfcfd;}
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{display:none!important;}
body.woocommerce-cart .coupon input.input-text{
    min-height:44px;
    border:1px solid #d7dee7!important;
    border-radius:9px!important;
}
body.woocommerce-cart .coupon button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
    min-height:46px!important;
    border-radius:10px!important;
    font-weight:750!important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
    display:flex!important;
    align-items:center;
    justify-content:center;
    background:#173b6c!important;
    color:#fff!important;
}
body.woocommerce-cart .cart_totals table.shop_table{
    border:0!important;
    border-radius:0!important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
    padding:13px 0!important;
    border-color:#edf0f3!important;
}
body.woocommerce-cart .cart_totals .order-total strong{color:#172033;font-size:1.12rem;}
@media (max-width:900px){
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals{width:100%;float:none;}
    body.woocommerce-cart .cart-collaterals .cart_totals{position:static;}
}
@media (max-width:767px){
    body.woocommerce-cart .woocommerce-cart-form__contents{border-radius:12px;}
    body.woocommerce-cart .woocommerce-cart-form__cart-item td{padding:11px 12px!important;}
    body.woocommerce-cart td.product-thumbnail img,
    body.woocommerce-cart .primaster-course-cart-thumb{width:64px!important;height:64px!important;}
    body.woocommerce-cart .cart-collaterals .cart_totals{padding:18px;border-radius:12px;}
    body.woocommerce-cart .coupon{display:grid!important;grid-template-columns:1fr;gap:8px;width:100%;}
    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon button{width:100%!important;}
}

/* Primaster Core 0.1.2 — largura ampliada somente nas telas funcionais WooCommerce */
@media (min-width:1025px){
    body.woocommerce-cart .site-content > .ast-container,
    body.woocommerce-checkout .site-content > .ast-container,
    body.woocommerce-account .site-content > .ast-container{
        width:calc(100% - 48px)!important;
        max-width:1280px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:0!important;
        padding-right:0!important;
    }
    body.woocommerce-cart .content-area,
    body.woocommerce-checkout .content-area,
    body.woocommerce-account .content-area,
    body.woocommerce-cart .site-main,
    body.woocommerce-checkout .site-main,
    body.woocommerce-account .site-main,
    body.woocommerce-cart article.page,
    body.woocommerce-checkout article.page,
    body.woocommerce-account article.page,
    body.woocommerce-cart .entry-content,
    body.woocommerce-checkout .entry-content,
    body.woocommerce-account .entry-content{
        width:100%!important;
        max-width:none!important;
    }
    body.woocommerce-cart .entry-content > .elementor,
    body.woocommerce-checkout .entry-content > .elementor,
    body.woocommerce-account .entry-content > .elementor{
        width:100%!important;
        max-width:none!important;
    }
    body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
    body.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout{
        width:100%!important;
        max-width:none!important;
    }
}

@media (min-width:768px) and (max-width:1024px){
    body.woocommerce-cart .site-content > .ast-container,
    body.woocommerce-checkout .site-content > .ast-container,
    body.woocommerce-account .site-content > .ast-container{
        width:calc(100% - 32px)!important;
        max-width:none!important;
    }
}

/* Primaster Core 0.1.3 — carrinho mais largo + tabela enxuta */
@media (min-width:1025px){
    /* O Elementor pode manter seus containers internos em largura boxed mesmo quando
       o wrapper do tema já está amplo. A exceção fica restrita à área de conteúdo
       das telas WooCommerce. */
    body.woocommerce-cart .entry-content .elementor > .e-con,
    body.woocommerce-cart .entry-content .elementor > .elementor-section,
    body.woocommerce-checkout .entry-content .elementor > .e-con,
    body.woocommerce-account .entry-content .elementor > .e-con{
        width:100%!important;
        max-width:1280px!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }
    body.woocommerce-cart .entry-content .elementor .e-con.e-con-boxed > .e-con-inner,
    body.woocommerce-checkout .entry-content .elementor .e-con.e-con-boxed > .e-con-inner,
    body.woocommerce-account .entry-content .elementor .e-con.e-con-boxed > .e-con-inner{
        width:100%!important;
        max-width:1280px!important;
    }
    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .woocommerce-cart-form + .cart-collaterals{
        max-width:none!important;
    }
    body.woocommerce-cart .woocommerce-cart-form{width:68%!important;}
    body.woocommerce-cart .cart-collaterals{width:29%!important;}
}

/* O resumo à direita já apresenta subtotal e total; retirar o subtotal por item
   libera espaço útil para nome, preço e quantidade. */
body.woocommerce-cart table.shop_table th.product-subtotal,
body.woocommerce-cart table.shop_table td.product-subtotal{
    display:none!important;
}
body.woocommerce-cart table.shop_table th.product-remove,
body.woocommerce-cart table.shop_table td.product-remove{width:54px!important;}
body.woocommerce-cart table.shop_table th.product-thumbnail,
body.woocommerce-cart table.shop_table td.product-thumbnail{width:92px!important;}
body.woocommerce-cart table.shop_table th.product-price,
body.woocommerce-cart table.shop_table td.product-price{width:118px!important;white-space:nowrap;}
body.woocommerce-cart table.shop_table th.product-quantity,
body.woocommerce-cart table.shop_table td.product-quantity{width:132px!important;white-space:nowrap;}
body.woocommerce-cart table.shop_table td.product-name{min-width:190px;}

@media (max-width:767px){
    /* No layout responsivo do WooCommerce os rótulos são gerados por data-title;
       a célula escondida não deve reaparecer. */
    body.woocommerce-cart table.shop_table td.product-subtotal{display:none!important;}
}


/* Primaster Core 0.1.4 — refinamento visual do resumo do carrinho */
@media (min-width:901px){
    body.woocommerce-cart .woocommerce-cart-form{width:70%!important;}
    body.woocommerce-cart .cart-collaterals{width:28%!important;}
}

/* Unificar visualmente tabela e resumo: linhas retas, mesma borda e mesma sombra. */
body.woocommerce-cart .woocommerce-cart-form__contents,
body.woocommerce-cart .cart-collaterals .cart_totals{
    border:1px solid #dfe3ea!important;
    border-radius:0!important;
    box-shadow:0 12px 30px rgba(23,32,51,.055)!important;
    background:#fff!important;
}
body.woocommerce-cart .cart-collaterals .cart_totals{
    padding:0 22px 22px!important;
    overflow:hidden;
}

/* Cabeçalho roxo elegante, concentrado apenas no título do resumo. */
body.woocommerce-cart .cart-collaterals .cart_totals h2{
    margin:0 -22px 18px!important;
    padding:17px 22px!important;
    background:#5f259f!important;
    color:#fff!important;
    font-size:1.08rem!important;
    font-weight:750!important;
    line-height:1.25!important;
    letter-spacing:.01em;
}

body.woocommerce-cart .cart_totals table.shop_table{
    margin-bottom:14px!important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
    padding:12px 0!important;
}
body.woocommerce-cart .cart_totals table.shop_table td{
    text-align:right!important;
}

/* CTA mais horizontal e discreto. */
body.woocommerce-cart .wc-proceed-to-checkout{
    padding:8px 0 0!important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
    width:100%!important;
    min-height:44px!important;
    padding:11px 14px!important;
    margin:0!important;
    border:1px solid #5f259f!important;
    border-radius:2px!important;
    background:#5f259f!important;
    color:#fff!important;
    font-size:.98rem!important;
    font-weight:750!important;
    line-height:1.25!important;
    text-align:center!important;
    white-space:normal;
    box-shadow:none!important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus{
    background:#4b1d80!important;
    border-color:#4b1d80!important;
    color:#fff!important;
}

/* Cupom acompanha o novo destaque sem competir com o CTA. */
body.woocommerce-cart .coupon button{
    background:#5f259f!important;
    border-color:#5f259f!important;
    color:#fff!important;
    border-radius:2px!important;
}
body.woocommerce-cart .coupon input.input-text{
    border-radius:2px!important;
}

@media (max-width:900px){
    body.woocommerce-cart .cart-collaterals .cart_totals{
        padding:0 18px 18px!important;
    }
    body.woocommerce-cart .cart-collaterals .cart_totals h2{
        margin:0 -18px 16px!important;
        padding:15px 18px!important;
    }
}


/* Primaster Core 0.1.5 — hierarquia de ações e retorno à loja */
/* O roxo fica como identidade do cabeçalho do resumo. O CTA principal volta ao azul
   Primaster para não competir com o título. */
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
    min-height:42px!important;
    padding:10px 14px!important;
    border:1px solid #173b6c!important;
    background:#173b6c!important;
    color:#fff!important;
    font-size:.86rem!important;
    font-weight:700!important;
    letter-spacing:0!important;
    line-height:1.2!important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus{
    background:#102f59!important;
    border-color:#102f59!important;
    color:#fff!important;
}

/* Cupom como ação secundária: referência ao roxo sem virar um segundo CTA principal. */
body.woocommerce-cart .coupon button{
    min-height:44px!important;
    padding:9px 18px!important;
    border:1px solid #5f259f!important;
    border-radius:2px!important;
    background:#fff!important;
    color:#5f259f!important;
    font-size:.86rem!important;
    font-weight:700!important;
    box-shadow:none!important;
}
body.woocommerce-cart .coupon button:hover,
body.woocommerce-cart .coupon button:focus{
    background:#f7f2fb!important;
    border-color:#4b1d80!important;
    color:#4b1d80!important;
}

/* Voltar à Home/loja sem competir com as ações de pagamento. */
body.woocommerce-cart .primaster-continue-shopping{
    display:flex!important;
    width:max-content;
    margin:0 0 14px!important;
    align-items:center;
    gap:7px;
    clear:both;
    color:#173b6c!important;
    font-size:.86rem!important;
    font-weight:700!important;
    line-height:1.3;
    text-decoration:none!important;
}
body.woocommerce-cart .primaster-continue-shopping span{
    font-size:1rem;
    line-height:1;
}
body.woocommerce-cart .primaster-continue-shopping:hover,
body.woocommerce-cart .primaster-continue-shopping:focus{
    color:#102f59!important;
    text-decoration:underline!important;
    text-underline-offset:3px;
}

@media (max-width:767px){
    body.woocommerce-cart .primaster-continue-shopping{
        width:100%;
        justify-content:flex-start;
        margin:0 0 12px!important;
        padding:6px 0;
    }
}


/* Primaster Core 0.1.6 — retorno à loja acima da tabela */
body.woocommerce-cart .primaster-continue-shopping{position:relative;z-index:2;}


/* Primaster Core 0.1.7 — pós-compra de pedidos mistos */
.primaster-post-purchase-courses{
    margin: 18px 0 24px;
}
.primaster-post-purchase-courses .primaster-my-courses-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
}

/* =====================================================
   PRIMASTER CORE 0.1.9 — CARRINHO EM COMPOSIÇÃO VERTICAL
   ===================================================== */
body.woocommerce-cart .woocommerce{
    display:block!important;
}
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals{
    width:100%!important;max-width:none!important;float:none!important;clear:both!important;
}
body.woocommerce-cart .woocommerce-cart-form{margin-bottom:22px!important;}
body.woocommerce-cart .cart-collaterals{display:flex!important;justify-content:flex-end!important;}
body.woocommerce-cart .cart-collaterals .cart_totals{
    width:100%!important;max-width:520px!important;margin:0!important;padding:22px 24px!important;
    border:1px solid #dfe3ea!important;border-radius:8px!important;background:#fff!important;box-shadow:0 10px 28px rgba(23,32,51,.045)!important;
}
/* Na composição vertical o grande cabeçalho roxo deixa de ser necessário. */
body.woocommerce-cart .cart-collaterals .cart_totals h2{
    margin:0 0 14px!important;padding:0 0 12px!important;border-bottom:2px solid #5f259f!important;
    background:transparent!important;color:#172033!important;font-size:1.05rem!important;font-weight:750!important;line-height:1.3!important;
}
body.woocommerce-cart .cart_totals table.shop_table{border:0!important;box-shadow:none!important;}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{padding:11px 0!important;border-color:#edf0f3!important;}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{font-size:1.05rem!important;color:#172033!important;}
body.woocommerce-cart .wc-proceed-to-checkout{display:flex!important;justify-content:flex-end!important;padding-top:12px!important;}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:auto!important;min-width:230px!important;padding:11px 20px!important;border-radius:6px!important;}

@media (max-width:767px){
    body.woocommerce-cart .cart-collaterals{display:block!important;}
    body.woocommerce-cart .cart-collaterals .cart_totals{max-width:none!important;padding:18px!important;border-radius:8px!important;}
    body.woocommerce-cart .wc-proceed-to-checkout{display:block!important;}
    body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:100%!important;min-width:0!important;}
}
