.swl-header-widget,
.swl-loop-toggle,
.swl-modal{box-sizing:border-box}
.swl-header-widget *,
.swl-loop-toggle *,
.swl-modal *{box-sizing:border-box}

/* Header trigger */
.swl-header-trigger{
    --swl-trigger-icon-size:25px;
    --swl-trigger-stroke:1.8;
    --swl-header-color:#676767;
    --swl-header-hover-color:var(--swl-header-color);
    --swl-header-bg:transparent;
    --swl-header-hover-bg:var(--swl-header-bg);
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    outline:0;
    cursor:pointer;
    line-height:1;
    background:var(--swl-header-bg);
    color:var(--swl-header-color);
    transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.swl-header-trigger:hover,
.swl-header-trigger:focus,
.swl-header-trigger:active{
    color:var(--swl-header-hover-color);
    background:var(--swl-header-hover-bg);
}
.swl-trigger-icon{display:flex;align-items:center;justify-content:center;width:var(--swl-trigger-icon-size);height:var(--swl-trigger-icon-size);line-height:0}
.swl-trigger-icon svg,
.swl-heart-svg{
    display:block;
    width:100%;
    height:100%;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:var(--swl-trigger-stroke,1.8);
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}
.swl-count{
    position:absolute;
    top:-7px;
    right:-8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:99px;
    font-size:10px;
    font-weight:700;
    background:#e53935;
    color:#fff;
    line-height:20px;
    box-shadow:0 2px 8px rgb(0 0 0 / 15%);
    pointer-events:none;
}
.swl-count[data-empty="1"]{display:none}

/* Modal */

/* Body-level modal portal: keeps Elementor style scope without inheriting header/menu stacking contexts. */
.swl-modal-portal-scope,
.swl-modal-portal-widget-scope{
    display:contents!important;
    position:static!important;
    inset:auto!important;
    z-index:auto!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;
    rotate:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    perspective:none!important;
    opacity:1!important;
    isolation:auto!important;
    contain:none!important;
    clip-path:none!important;
    mix-blend-mode:normal!important;
    will-change:auto!important;
}

.swl-modal{
    --swl-accent:#111;
    position:fixed;
    inset:0;
    z-index:2147483000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    direction:rtl;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
}
.swl-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.swl-modal-backdrop{position:absolute;inset:0;background:rgb(10 12 18 / 56%);backdrop-filter:blur(5px)}
.swl-modal-panel{
    position:relative;
    z-index:2;
    width:560px;
    max-width:100%;
    max-height:min(86vh,760px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    box-shadow:0 26px 80px rgb(0 0 0 / 24%);
    transform:translateY(16px) scale(.985);
    transition:transform .25s ease;
}
.swl-modal.is-open .swl-modal-panel{transform:translateY(0) scale(1)}
.swl-modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid #eee}
.swl-modal-heading{display:flex;align-items:baseline;gap:10px;min-width:0}
.swl-modal-heading strong{font-size:18px;line-height:1.4;color:#111}
.swl-modal-heading span{font-size:12px;color:#8a8a8a;white-space:nowrap}
.swl-modal-close{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:38px;
    height:38px;
    border:1px solid #ececec;
    border-radius:12px;
    background:#fafafa;
    color:#111;
    cursor:pointer;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease;
}
.swl-modal-close:hover{background:#f0f0f0}
.swl-modal-close svg,
.swl-remove svg,
.swl-search-add svg,
.swl-search-box>svg{
    display:block!important;
    flex:none;
    fill:none!important;
    stroke:currentColor!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    vector-effect:non-scaling-stroke;
    visibility:visible!important;
    opacity:1!important;
    overflow:visible;
}
.swl-modal-close svg{width:19px;height:19px;stroke-width:1.8}
.swl-modal-body{padding:20px 24px 24px;overflow:auto;overscroll-behavior:contain}
.swl-section-title{margin:0 0 10px;font-size:12px;font-weight:700;color:#8a8a8a}
.swl-current-wrap{margin-bottom:22px}
.swl-current-list{display:grid;gap:10px}
.swl-empty{padding:20px;border:1px dashed #ddd;border-radius:16px;text-align:center;color:#8a8a8a;font-size:13px;background:#fafafa}
.swl-current-item,
.swl-search-item{
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:10px;
    border:1px solid #ededed;
    border-radius:16px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.swl-current-item:hover,
.swl-search-item:hover{border-color:#dcdcdc;box-shadow:0 8px 24px rgb(0 0 0 / 6%)}
.swl-current-item img,
.swl-search-item img{width:52px;height:52px;border-radius:12px;object-fit:cover;background:#f4f4f4}
.swl-product-meta{min-width:0}
.swl-product-meta a,
.swl-product-name{display:block;overflow:hidden;color:#1d1d1f;font-size:13px;font-weight:700;line-height:1.55;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.swl-product-price{margin-top:3px;color:#777;font-size:12px}
.swl-product-price del{opacity:.55}
.swl-product-price ins{text-decoration:none}
.swl-remove{
    --swl-remove-size:42px;
    --swl-remove-icon-size:22px;
    --swl-action-stroke:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 var(--swl-remove-size);
    width:var(--swl-remove-size);
    min-width:var(--swl-remove-size);
    height:var(--swl-remove-size);
    min-height:var(--swl-remove-size);
    padding:0;
    border:1px solid #ffd8d8;
    border-radius:12px;
    background:#fff2f2;
    color:#d32f2f;
    cursor:pointer;
    line-height:0;
    overflow:visible;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.swl-remove:hover{background:#ffe7e7;color:#b71c1c;border-color:#ffc6c6}
.swl-remove .swl-action-svg{width:var(--swl-remove-icon-size);height:var(--swl-remove-icon-size);stroke-width:var(--swl-action-stroke)}
.swl-search-box{position:relative;display:flex;align-items:center}
.swl-search-box>svg{position:absolute;right:14px;width:19px;height:19px;color:#8a8a8a;stroke-width:1.6;pointer-events:none}
.swl-search-box input{
    width:100%;
    height:48px;
    padding:0 44px 0 14px;
    border:1px solid #e2e2e2!important;
    border-radius:14px!important;
    outline:0!important;
    background:#fafafa!important;
    color:#111!important;
    box-shadow:none!important;
    font:inherit;
    font-size:13px;
    text-align:right;
    transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
.swl-search-box input:focus{border-color:#bdbdbd!important;background:#fff!important}
.swl-search-results{display:grid;gap:8px;max-height:300px;margin-top:10px;overflow:auto}
.swl-search-item{grid-template-columns:32px 46px minmax(0,1fr) 42px;padding:8px;cursor:pointer}
.swl-search-item img{width:46px;height:46px}
.swl-search-check{
    --swl-select-size:24px;
    --swl-select-icon-size:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    min-width:32px;
    height:32px;
    cursor:pointer;
    line-height:0;
}
.swl-search-check input{position:absolute;opacity:0;pointer-events:none}
.swl-checkmark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:var(--swl-select-size);
    min-width:var(--swl-select-size);
    height:var(--swl-select-size);
    border:1.8px solid #c9c9c9;
    border-radius:7px;
    background:#fff;
    color:#fff;
    box-shadow:0 1px 2px rgb(0 0 0 / 5%);
    transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.swl-check-svg{
    display:block;
    width:var(--swl-select-icon-size);
    height:var(--swl-select-icon-size);
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
    opacity:0;
}
.swl-search-check input:checked+.swl-checkmark{border-color:var(--swl-accent);background:var(--swl-accent);color:#fff;box-shadow:none}
.swl-search-check input:checked+.swl-checkmark .swl-check-svg{opacity:1}
.swl-search-add{
    --swl-add-size:42px;
    --swl-add-icon-size:23px;
    --swl-action-stroke:2.1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 var(--swl-add-size);
    width:var(--swl-add-size);
    min-width:var(--swl-add-size);
    height:var(--swl-add-size);
    min-height:var(--swl-add-size);
    padding:0;
    border:1px solid #dedede;
    border-radius:12px;
    background:#f8f8f8;
    color:#111;
    cursor:pointer;
    line-height:0;
    overflow:visible;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.swl-search-add:hover{background:#111;color:#fff;border-color:#111}
.swl-search-add .swl-action-svg{width:var(--swl-add-icon-size);height:var(--swl-add-icon-size);stroke-width:var(--swl-action-stroke)}
.swl-bulk-add{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:46px;
    margin-top:12px;
    border:0;
    border-radius:14px;
    background:var(--swl-accent);
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:opacity .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease;
}
.swl-bulk-add:disabled{cursor:not-allowed;opacity:.35}
.swl-bulk-add b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:rgb(255 255 255 / 16%);font-size:11px}
.swl-status{padding:14px;text-align:center;color:#8a8a8a;font-size:12px}

/* Loop toggle - real outline SVG, no fill */
.swl-loop-toggle{
    --swl-normal:#676767;
    --swl-active:#e53935;
    --swl-hover:var(--swl-normal);
    --swl-active-hover:var(--swl-active);
    --swl-bg-normal:transparent;
    --swl-bg-hover:var(--swl-bg-normal);
    --swl-bg-active:var(--swl-bg-normal);
    --swl-bg-active-hover:var(--swl-bg-active);
    --swl-loop-icon-size:24px;
    --swl-loop-stroke:1.8;
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    outline:0;
    background:var(--swl-bg-normal);
    color:var(--swl-normal);
    line-height:1;
    cursor:pointer;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.swl-loop-toggle:hover,
.swl-loop-toggle:focus{color:var(--swl-hover);background:var(--swl-bg-hover)}
.swl-loop-toggle.is-active{color:var(--swl-active);background:var(--swl-bg-active)}
.swl-loop-toggle.is-active:hover,
.swl-loop-toggle.is-active:focus{color:var(--swl-active-hover);background:var(--swl-bg-active-hover)}
.swl-loop-toggle .swl-icon{display:flex;align-items:center;justify-content:center;width:var(--swl-loop-icon-size);height:var(--swl-loop-icon-size);line-height:0}
.swl-loop-toggle .swl-heart-svg{width:100%;height:100%;fill:none!important;stroke:currentColor!important;stroke-width:var(--swl-loop-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.swl-loop-toggle.is-busy{pointer-events:none;opacity:.55}

/* Toast */
.swl-toast{position:fixed;top:22px;right:22px;z-index:1000000;display:flex;align-items:center;gap:9px;max-width:min(340px,calc(100vw - 30px));padding:12px 16px;border-radius:14px;background:#161616;color:#fff;font-size:13px;font-weight:700;box-shadow:0 16px 42px rgb(0 0 0 / 22%);direction:rtl;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.25s ease}
.swl-toast.is-visible{transform:translateY(0);opacity:1}
.swl-toast-dot{width:8px;height:8px;border-radius:50%;background:#43a047}
.swl-toast.is-remove .swl-toast-dot{background:#e53935}
.swl-body-locked{overflow:hidden!important}
.swl-editor-note{padding:10px 12px;border:1px dashed #ccc;border-radius:8px;color:#777;font-size:12px;text-align:center;direction:rtl}

/* Never move buttons on hover/focus/active, even when the theme/Elementor injects effects. */
.swl-header-trigger,
.swl-header-trigger:hover,
.swl-header-trigger:focus,
.swl-header-trigger:active,
.swl-loop-toggle,
.swl-loop-toggle:hover,
.swl-loop-toggle:focus,
.swl-loop-toggle:active,
.swl-modal-close,
.swl-modal-close:hover,
.swl-modal-close:focus,
.swl-modal-close:active,
.swl-remove,
.swl-remove:hover,
.swl-remove:focus,
.swl-remove:active,
.swl-search-add,
.swl-search-add:hover,
.swl-search-add:focus,
.swl-search-add:active,
.swl-bulk-add,
.swl-bulk-add:hover,
.swl-bulk-add:focus,
.swl-bulk-add:active{
    transform:none!important;
    translate:none!important;
    scale:none!important;
}

@media (max-width:767px){
    .swl-modal{align-items:flex-end;padding:0}
    .swl-modal-panel{width:100%;max-height:88vh;border-radius:22px 22px 0 0}
    .swl-modal-header{padding:18px 18px 14px}
    .swl-modal-body{padding:16px 18px 20px}
    .swl-current-item{grid-template-columns:46px minmax(0,1fr) auto}
    .swl-current-item img{width:46px;height:46px}
    .swl-search-results{max-height:260px}
    .swl-toast{top:16px;right:15px}
    .swl-modal-heading strong{font-size:16px}
}
