/* Scope stock colors to product availability, including dynamically loaded variants. */
.magmer-vat-label { display: inline-block; font-size: .6em; font-weight: 400; white-space: nowrap; }
.woocommerce form.woocommerce-ordering { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.woocommerce-ordering .magmer-filter-label { color: #193a41; font-size: 15px; font-weight: 700; margin: 0; }
.woocommerce form.woocommerce-ordering.magmer-filter-frame {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid #d5e0e2;
    border-radius: 9px;
    background: #f3f7f7;
    box-sizing: border-box;
    max-width: 100%;
}
.magmer-filter-frame .magmer-filter-label { flex: 0 0 auto; display: inline-block; width: auto !important; }
.magmer-filter-frame select { background-color: #fff; border: 1px solid #bdced2; border-radius: 5px; min-height: 40px; max-width: 100%; }
.magmer-filter-frame .magmer-stock-choice { width: auto; min-width: 145px; }
.magmer-filter-frame [hidden] { display: none !important; }
@media (max-width: 600px) {
    .woocommerce form.woocommerce-ordering.magmer-filter-frame { float: none; width: 100%; padding: 10px; }
    .magmer-filter-frame select.orderby { flex: 1 1 180px; min-width: 0; width: auto; }
    .magmer-filter-frame .magmer-stock-choice:not([hidden]) { flex: 1 1 100%; }
}
.woocommerce div.product .stock.in-stock { color: #197238 !important; font-weight: 600; }
.woocommerce div.product .stock.out-of-stock { color: #b42318 !important; font-weight: 600; }
.woocommerce div.product .stock.available-on-backorder { color: #915500 !important; font-weight: 600; }
.magmer-back-to-top {
    position: fixed;
    right: 24px;
    bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    width: 46px;
    height: 46px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(25,58,65,.72);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.16);
    cursor: pointer;
    z-index: 9990;
    transition: background-color .15s ease;
}
.magmer-back-to-top[hidden] { display: none !important; }
.magmer-back-to-top:hover { background: rgba(25,58,65,.95); color: #fff; }
.magmer-back-to-top:focus-visible { outline: 3px solid #d77d60; outline-offset: 3px; }
@media (max-width: 600px) { .magmer-back-to-top { right: 20px; } }
@media (prefers-reduced-motion: reduce) { .magmer-back-to-top { transition: none; } }

/* Label is a direct sibling of controls, never above the first selector. */
.woocommerce form.woocommerce-ordering.magmer-filter-frame { flex-wrap: nowrap !important; }
.woocommerce-ordering.magmer-filter-frame > .magmer-filter-label {
    flex: 0 0 auto !important; align-self: flex-start; line-height: 40px;
    width: auto !important; margin: 0 !important;
}
.magmer-filter-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; min-width: 0; }
.magmer-filter-controls > * { min-width: 0; max-width: 100%; }
.magmer-filter-controls select { margin: 0 !important; }
.magmer-stock-choice { transform-origin: left center; }
@media (max-width: 600px) {
    .magmer-filter-controls { flex: 1 1 auto; }
    .magmer-filter-controls > select.orderby { width: 100%; }
}

/* Native select text must remain visible despite mobile theme overrides. */
.woocommerce form.woocommerce-ordering.magmer-filter-frame select.orderby,
.woocommerce form.woocommerce-ordering.magmer-filter-frame select.magmer-stock-choice {
    color: #193a41 !important;
    -webkit-text-fill-color: #193a41 !important;
    background-color: #fff !important;
    opacity: 1 !important;
    font-size: 14px !important;
    line-height: normal !important;
    text-indent: 0 !important;
    text-transform: none !important;
    padding: 8px 30px 8px 10px !important;
    height: 42px !important;
    min-height: 42px !important;
}
.magmer-filter-frame select option { color: #193a41; background: #fff; }
.woocommerce form.woocommerce-ordering.magmer-filter-frame select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: none !important;
    padding-right: 10px !important;
}
.magmer-filter-controls::before,
.magmer-filter-controls::after,
.magmer-filter-controls > :has(select)::before,
.magmer-filter-controls > :has(select)::after { content: none !important; display: none !important; }
.magmer-filter-controls .ct-select-icon,
.magmer-filter-controls .select-arrow,
.magmer-filter-controls .select-caret { display: none !important; }
@media (max-width: 600px) {
    .magmer-filter-controls { width: 0; }
    .magmer-filter-controls > *:not([hidden]) { flex-basis: 100%; }
    .magmer-filter-controls select { width: 100% !important; }
}

/* The theme can draw sorting arrows on the FORM, outside the selects. */
.woocommerce form.woocommerce-ordering.magmer-filter-frame::before,
.woocommerce form.woocommerce-ordering.magmer-filter-frame::after,
.woocommerce form.woocommerce-ordering.magmer-filter-frame .magmer-filter-label::before,
.woocommerce form.woocommerce-ordering.magmer-filter-frame .magmer-filter-label::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border: 0 !important;
}
.woocommerce form.woocommerce-ordering.magmer-filter-frame {
    background-image: none !important;
}
.woocommerce form.woocommerce-ordering.magmer-filter-frame > svg,
.woocommerce form.woocommerce-ordering.magmer-filter-frame .magmer-filter-controls svg,
.woocommerce form.woocommerce-ordering.magmer-filter-frame > .ct-icon,
.woocommerce form.woocommerce-ordering.magmer-filter-frame > .ct-sort-icon {
    display: none !important;
}
