/* Edifort Cart/Checkout conversion UI — intentionally non-blocking */
.edifort-conversion-dock,
.edifort-conversion-dock * { box-sizing: border-box; }

.edifort-conversion-dock {
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999980;
    width: min(360px, calc(100vw - 36px));
    margin: 0;
    font-family: inherit;
}

.edifort-dock-trigger {
    list-style: none;
    width: 188px;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(18,18,18,.97), rgba(40,40,40,.95));
    color: #fff;
    box-shadow: 0 16px 42px rgba(0,0,0,.22);
    cursor: pointer;
    user-select: none;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.edifort-dock-trigger::-webkit-details-marker { display:none; }
.edifort-dock-trigger-copy { min-width:0; display:flex; flex-direction:column; line-height:1.15; }
.edifort-dock-trigger-copy strong { font-size:13px; font-weight:750; letter-spacing:.01em; color:#fff; }
.edifort-dock-trigger-copy small { margin-top:4px; font-size:10px; color:rgba(255,255,255,.68); }
.edifort-dock-pulse { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#35d07f; box-shadow:0 0 0 0 rgba(53,208,127,.45); animation:edifortDockPulse 2.1s infinite; }
.edifort-dock-arrow { margin-left:auto; font-size:23px; line-height:1; transition:transform .22s ease; }
.edifort-conversion-dock[open] .edifort-dock-arrow { transform:rotate(180deg); }

.edifort-dock-panel {
    margin-top:10px;
    padding:20px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:24px;
    background:rgba(255,255,255,.96);
    color:#171717;
    box-shadow:0 26px 70px rgba(0,0,0,.22);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    animation:edifortDockIn .22s ease both;
}
.edifort-dock-eyebrow { font-size:10px; font-weight:800; letter-spacing:.16em; color:#777; margin-bottom:8px; }
.edifort-dock-panel h3 { margin:0 0 15px; font-size:20px; line-height:1.22; letter-spacing:-.02em; }
.edifort-dock-capacity { display:flex; gap:11px; padding:12px; border-radius:16px; background:#f6f6f4; border:1px solid #ecece8; }
.edifort-capacity-bolt { display:grid; place-items:center; width:31px; height:31px; flex:0 0 31px; border-radius:10px; background:#111; color:#fff; font-size:14px; }
.edifort-dock-capacity div { display:flex; flex-direction:column; gap:3px; }
.edifort-dock-capacity strong { font-size:12px; }
.edifort-dock-capacity span { font-size:11px; line-height:1.4; color:#646464; }
.edifort-dock-benefits { display:grid; gap:7px; margin:15px 1px; font-size:12px; color:#454545; }
.edifort-dock-cta { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:15px; padding:13px 16px; background:#111; color:#fff !important; text-decoration:none !important; font:inherit; font-size:13px; font-weight:750; cursor:pointer; box-shadow:0 10px 28px rgba(0,0,0,.15); }
.edifort-dock-cta:hover { transform:translateY(-1px); }
.edifort-dock-close { display:block; margin:10px auto 0; padding:4px 9px; border:0; background:transparent; color:#777; font:inherit; font-size:11px; cursor:pointer; }

/* Brief social proof toast — hidden by default and auto-dismissed by JS */
#edifort-proof-popup[hidden] { display:none !important; }
#edifort-proof-popup { position:fixed; left:18px; bottom:24px; z-index:999970; width:min(330px, calc(100vw - 36px)); margin:0; }
#edifort-proof-popup .proof-glass { position:relative; display:flex; gap:12px; padding:14px 38px 14px 14px; border-radius:19px; background:rgba(255,255,255,.97); color:#181818; border:1px solid rgba(0,0,0,.07); box-shadow:0 18px 52px rgba(0,0,0,.16); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.edifort-proof-icon { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:#111; color:#fff; font-weight:800; }
.edifort-proof-copy { min-width:0; }
#edifort-proof-popup .stars { letter-spacing:1px; font-size:10px; margin-bottom:3px; }
#edifort-proof-popup strong { display:block; font-size:12px; line-height:1.25; }
#edifort-proof-popup p { margin:4px 0 2px; font-size:11px; line-height:1.35; color:#555; }
#edifort-proof-popup small { font-size:9px; color:#888; }
.edifort-proof-close { position:absolute; right:8px; top:7px; width:26px; height:26px; border:0; border-radius:50%; background:transparent; color:#777; font-size:18px; line-height:1; cursor:pointer; }

/* Live notification toast */
#edifort-notification-box[hidden] { display:none !important; }
#edifort-notification-box { position:fixed; left:18px; bottom:24px; z-index:999965; width:min(330px, calc(100vw - 36px)); }
.edifort-live-popup { display:flex; align-items:center; gap:10px; padding:13px 15px; border-radius:18px; background:rgba(22,22,22,.96); color:#fff; box-shadow:0 18px 52px rgba(0,0,0,.2); }
.edifort-popup-icon { font-size:12px; white-space:nowrap; }
.edifort-popup-message { font-size:11px; line-height:1.4; color:rgba(255,255,255,.86); }

/* Mobile cart checkout bar */
.edifort-mobile-checkout-bar { display:none; }

@keyframes edifortDockPulse { 0%{box-shadow:0 0 0 0 rgba(53,208,127,.4)} 70%{box-shadow:0 0 0 8px rgba(53,208,127,0)} 100%{box-shadow:0 0 0 0 rgba(53,208,127,0)} }
@keyframes edifortDockIn { from{opacity:0; transform:translateY(-7px) scale(.98)} to{opacity:1; transform:none} }

/* Desktop: keep the compact trigger high on the right so it clears chat/offer widgets. */
@media (min-width: 1025px) {
    .edifort-conversion-dock {
        top: 138px;
        right: 24px;
        transform: none;
    }
    .edifort-conversion-dock:not([open]) { width:188px; }
}

/* Tablet: compact upper-right control; remove competing toast overlays. */
@media (min-width: 783px) and (max-width: 1024px) {
    .edifort-conversion-dock {
        top: 112px;
        right: 12px;
        transform: none;
        width: 300px;
        max-width: calc(100vw - 24px);
    }
    .edifort-conversion-dock:not([open]) { width:156px; }
    .edifort-dock-trigger {
        width:156px;
        padding:10px 11px;
        border-radius:15px;
    }
    .edifort-dock-trigger-copy strong { font-size:11px; }
    .edifort-dock-trigger-copy small { display:none; }
    .edifort-dock-arrow { font-size:19px; }
    .edifort-dock-panel {
        max-height: min(58vh, 440px);
        overflow:auto;
        padding:16px;
        border-radius:20px;
    }
    .edifort-dock-panel h3 { font-size:17px; }

    /* Tablets have less usable viewport: do not stack transient popups over WooCommerce UI. */
    #edifort-proof-popup,
    #edifort-notification-box { display:none !important; }
}

/* Phones: tiny upper-right assist pill + one slim Cart action bar. */
@media (max-width: 782px) {
    .edifort-conversion-dock {
        top: 86px;
        right: 8px;
        bottom:auto;
        left:auto;
        transform:none;
        width: min(290px, calc(100vw - 16px));
        max-width: calc(100vw - 16px);
    }
    .edifort-conversion-dock:not([open]) { width:128px; }
    .edifort-dock-trigger {
        width:128px;
        min-height:42px;
        padding:8px 10px;
        gap:7px;
        border-radius:14px;
        box-shadow:0 10px 28px rgba(0,0,0,.18);
    }
    .edifort-dock-pulse { width:7px; height:7px; flex-basis:7px; }
    .edifort-dock-trigger-copy strong { font-size:10px; }
    .edifort-dock-trigger-copy small { display:none; }
    .edifort-dock-arrow { font-size:18px; }

    .edifort-dock-panel {
        width: min(290px, calc(100vw - 16px));
        max-height: min(50vh, 390px);
        overflow:auto;
        overscroll-behavior:contain;
        padding:14px;
        border-radius:18px;
        box-shadow:0 20px 55px rgba(0,0,0,.22);
    }
    .edifort-dock-eyebrow { font-size:8px; margin-bottom:5px; }
    .edifort-dock-panel h3 { margin-bottom:10px; font-size:15px; }
    .edifort-dock-capacity { gap:8px; padding:9px; border-radius:13px; }
    .edifort-capacity-bolt { width:26px; height:26px; flex-basis:26px; border-radius:8px; font-size:12px; }
    .edifort-dock-capacity strong { font-size:10px; }
    .edifort-dock-capacity span { font-size:9px; }
    .edifort-dock-benefits { gap:4px; margin:10px 1px; font-size:10px; }
    .edifort-dock-cta { padding:11px 12px; border-radius:12px; font-size:11px; }
    .edifort-dock-close { margin-top:6px; font-size:10px; }

    /* Never cover mobile/tablet page content with marketing toasts. */
    #edifort-proof-popup,
    #edifort-notification-box { display:none !important; }

    .edifort-mobile-checkout-bar {
        position:fixed;
        left:8px;
        right:8px;
        bottom:calc(8px + env(safe-area-inset-bottom));
        z-index:999975;
        display:flex;
        align-items:center;
        gap:8px;
        min-height:54px;
        padding:7px 7px 7px 11px;
        border-radius:16px;
        background:rgba(255,255,255,.97);
        border:1px solid rgba(0,0,0,.07);
        box-shadow:0 12px 34px rgba(0,0,0,.18);
        backdrop-filter:blur(18px);
        -webkit-backdrop-filter:blur(18px);
    }
    .edifort-mobile-checkout-copy { min-width:0; display:flex; flex-direction:column; line-height:1.15; }
    .edifort-mobile-checkout-copy small { font-size:8px; color:#777; }
    .edifort-mobile-checkout-copy strong { margin-top:2px; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .edifort-mobile-order {
        flex:0 0 auto;
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        gap:5px;
        position:static !important;
        width:auto !important;
        margin:0 !important;
        padding:10px 12px !important;
        border-radius:12px !important;
        background:#111 !important;
        color:#fff !important;
        text-decoration:none !important;
        font-size:10px !important;
        font-weight:750 !important;
        box-shadow:none !important;
    }

    /* The Cart-only bottom shortcut no longer sits on top of the last cart controls. */
    body.woocommerce-cart { padding-bottom:78px !important; }
}
