.moifbtd-display{margin:1.25rem auto;width:100%;max-width:100%;box-sizing:border-box}
.moifbtd-display__inner{width:100%;max-width:100%;box-sizing:border-box;display:block}

/*
 Boxed mode is enforced by the plugin itself so the display stays centered and
 capped even when the surrounding page/container does not do it for us.
*/
.moifbtd-display--container-boxed{
    max-width:calc(var(--moifbtd-boxed-max-width,1140px) + (var(--moifbtd-boxed-padding-desktop,16px) * 2));
    margin-left:auto;
    margin-right:auto;
    padding-left:var(--moifbtd-boxed-padding-desktop,16px);
    padding-right:var(--moifbtd-boxed-padding-desktop,16px);
    box-sizing:border-box;
}
.moifbtd-display--container-boxed .moifbtd-display__inner{
    width:100%;
    max-width:100%;
    padding-left:0;
    padding-right:0;
}

.moifbtd-display--container-full_width{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding-left:var(--moifbtd-boxed-padding-desktop,16px);
    padding-right:var(--moifbtd-boxed-padding-desktop,16px);
    box-sizing:border-box;
}
.moifbtd-display--container-full_width .moifbtd-display__inner{
    width:100%;
    max-width:none;
    padding-left:0;
    padding-right:0;
}

.moifbtd-display__header{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 .85rem 0}
.moifbtd-display__controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.moifbtd-display__debug-version{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .5rem auto;padding:.3rem .55rem;border:1px dashed #d11a3a;border-radius:999px;font-size:12px;line-height:1.2;font-weight:700;color:#d11a3a;background:#fff7fa}
.moifbtd-display__viewport{position:relative}
.moifbtd-display__grid{display:grid;grid-template-columns:repeat(var(--moifbtd-cols-desktop,4),minmax(0,1fr));gap:14px;align-items:stretch}
.moifbtd-display--carousel .moifbtd-display__grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.moifbtd-display__item{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:.75rem;background:#fff;display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:420px;scroll-snap-align:start;overflow:hidden}
.moifbtd-display__image{display:block}
.moifbtd-display__image img{width:100%;height:auto;border-radius:10px;display:block}
.moifbtd-display__title-link{text-decoration:none;font-weight:600;line-height:1.3;display:block}
.moifbtd-display__badges{display:flex;gap:.35rem;flex-wrap:wrap}
.moifbtd-display__badge{font-size:.75rem;border:1px solid rgba(0,0,0,.1);padding:.15rem .45rem;border-radius:999px;background:#f7f7f7}
.moifbtd-display__price{font-size:.95rem}
.moifbtd-display__spacer{flex:1 1 auto;min-height:.5rem}

/*
 Before add-to-cart is clicked: one centered button across the whole area.
 After success: the same area becomes two equal halves.
*/
.moifbtd-display__atc-wrap{margin-top:auto;padding-top:.5rem;min-height:44px;display:block}
.moifbtd-display__atc,
.moifbtd-display__view-cart{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:44px;box-sizing:border-box}
.moifbtd-display__atc-wrap .moifbtd-display__atc{max-width:260px;margin-left:auto;margin-right:auto}
.moifbtd-display__view-cart{display:none;visibility:hidden}
.moifbtd-display__atc-wrap.is-added{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
.moifbtd-display__atc-wrap.is-added .moifbtd-display__atc{max-width:none;margin-left:0;margin-right:0}
.moifbtd-display__atc-wrap.is-added .moifbtd-display__view-cart{display:flex;visibility:visible}
.moifbtd-display .added_to_cart,.moifbtd-display .added_to_cart.wc-forward,.moifbtd-display a.added_to_cart,.moifbtd-display a.wc-forward{display:none !important;visibility:hidden !important;width:0 !important;max-width:0 !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:0 !important;overflow:hidden !important;font-size:0 !important;line-height:0 !important}

.moifbtd-display__footer{margin-top:.75rem;text-align:center}
.moifbtd-display__empty{
    padding:1rem;
    border:1px dashed rgba(0,0,0,.15);
    border-radius:12px;
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-sizing:border-box;
}
.moifbtd-display__item--empty{
    display:flex;
}
.moifbtd-display__item--empty .moifbtd-display__empty{
    width:100%;
}
.moifbtd-display__loading{opacity:.66;pointer-events:none}

@media (max-width:1024px){
    .moifbtd-display--container-boxed,
    .moifbtd-display--container-full_width{
        padding-left:var(--moifbtd-boxed-padding-tablet,16px);
        padding-right:var(--moifbtd-boxed-padding-tablet,16px);
    }
    .moifbtd-display__grid{grid-template-columns:repeat(var(--moifbtd-cols-tablet,2),minmax(0,1fr));}
    .moifbtd-display__item{min-height:390px}
}
@media (max-width:768px){
    .moifbtd-display--container-boxed,
    .moifbtd-display--container-full_width{
        padding-left:var(--moifbtd-boxed-padding-mobile,12px);
        padding-right:var(--moifbtd-boxed-padding-mobile,12px);
    }
    .moifbtd-display__grid{grid-template-columns:repeat(var(--moifbtd-cols-mobile,2),minmax(0,1fr));}
    .moifbtd-display__item{min-height:360px}
}