:root {
    --setdio-location-primary: #d7eaf7;
    --setdio-location-text: #111827;
    --setdio-location-muted: #667085;
    --setdio-location-border: #e5e7eb;
    --setdio-location-soft: #f6f7f9;
}

body.setdio-location-modal-open {
    overflow: hidden;
}

/* ================================
   Location modal - clean app style
   ================================ */
.setdio-location-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(15, 23, 42, 0.38) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.setdio-location-overlay.is-open {
    display: flex;
}

.setdio-location-modal {
    position: relative;
    width: min(430px, 100%);
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    padding: 30px 22px 22px !important;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.18) !important;
    text-align: center;
}

.setdio-location-close,
.setdio-location-close:hover,
.setdio-location-close:focus,
.setdio-location-close:active {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #f4f5f7 !important;
    color: #667085 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 38px !important;
    text-align: center !important;
    text-decoration: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer;
}

.setdio-location-map-icon {
    width: 46px;
    height: 46px;
    margin: 4px auto 16px;
    border-radius: 14px;
    background: #f4f7f9;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.setdio-location-map-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #667085;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.setdio-location-map-icon circle {
    fill: none;
}

.setdio-location-modal h2 {
    margin: 0 0 8px !important;
    color: var(--setdio-location-text) !important;
    font-family: inherit !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.setdio-location-intro,
.setdio-location-confirm p {
    margin: 0 auto 22px !important;
    max-width: 380px;
    color: var(--setdio-location-muted) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

.setdio-location-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

/* Strong reset so Elementor/theme button styles cannot take over. */
.setdio-location-choice,
.setdio-location-choice:hover,
.setdio-location-choice:focus,
.setdio-location-choice:focus-visible,
.setdio-location-choice:active,
.setdio-location-choice.is-current,
.setdio-location-choice.is-current:hover,
.setdio-location-choice.is-current:focus,
.setdio-location-choice.is-current:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border: 1px solid var(--setdio-location-border) !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--setdio-location-text) !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer;
}

.setdio-location-choice.is-current,
.setdio-location-choice.is-current:hover,
.setdio-location-choice.is-current:focus,
.setdio-location-choice.is-current:active {
    background: var(--setdio-location-soft) !important;
    border-color: #d7dce2 !important;
}

.setdio-location-choice small {
    display: block;
    margin-top: 3px;
    color: #8a94a3 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.setdio-location-confirm-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.setdio-location-cancel-switch,
.setdio-location-confirm-switch,
.setdio-location-shortcode {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    outline: none !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer;
}

.setdio-location-cancel-switch,
.setdio-location-cancel-switch:hover,
.setdio-location-cancel-switch:focus,
.setdio-location-cancel-switch:active {
    background: #f1f3f5 !important;
    color: #111827 !important;
}

.setdio-location-confirm-switch,
.setdio-location-confirm-switch:hover,
.setdio-location-confirm-switch:focus,
.setdio-location-confirm-switch:active,
.setdio-location-shortcode,
.setdio-location-shortcode:hover,
.setdio-location-shortcode:focus,
.setdio-location-shortcode:active {
    background: #111827 !important;
    color: #ffffff !important;
}

.setdio-location-status {
    min-height: 18px;
    margin: 14px 0 0 !important;
    color: #b42318 !important;
    font-size: 13px !important;
}

/* =====================================
   Current location bar - sticky bottom dock
   ===================================== */
.setdio-location-bar {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 99990 !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: calc(100% - 24px) !important;
    max-width: 430px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 7px 8px 7px 13px !important;
    border: 1px solid var(--setdio-location-border) !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12) !important;
    color: #111827 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}

.setdio-location-bar > span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.setdio-location-bar strong {
    color: #111827 !important;
    font-weight: 700 !important;
}

.setdio-change-location,
.setdio-change-location:hover,
.setdio-change-location:focus,
.setdio-change-location:focus-visible,
.setdio-change-location:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #f1f3f5 !important;
    background-image: none !important;
    color: #344054 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 34px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer;
}

.setdio-location-shortcode-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 600px) {
    .setdio-location-overlay {
        padding: 16px;
    }

    .setdio-location-modal {
        padding: 28px 18px 18px !important;
        border-radius: 20px !important;
    }

    .setdio-location-modal h2 {
        font-size: 23px !important;
    }

    .setdio-location-intro,
    .setdio-location-confirm p {
        font-size: 14px !important;
    }

    .setdio-location-choice,
    .setdio-location-choice:hover,
    .setdio-location-choice:focus,
    .setdio-location-choice:active,
    .setdio-location-choice.is-current {
        min-height: 54px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
    }

    .setdio-location-bar {
        bottom: 12px;
        max-width: calc(100vw - 20px);
        padding: 6px 7px 6px 10px !important;
        border-radius: 13px !important;
        font-size: 12px !important;
    }

    .setdio-change-location,
    .setdio-change-location:hover,
    .setdio-change-location:focus,
    .setdio-change-location:active {
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 10px !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        line-height: 32px !important;
    }
}

/* =========================================================
   Single product - app-style variation pills + quantity stepper
   ========================================================= */
.single-product form.variations_form table.variations,
.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr,
.single-product form.variations_form table.variations th,
.single-product form.variations_form table.variations td {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.single-product form.variations_form table.variations {
    width: 100% !important;
    margin: 0 0 18px !important;
}

.single-product form.variations_form table.variations tr {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

.single-product form.variations_form table.variations th.label,
.single-product form.variations_form table.variations td.value {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
}

.single-product form.variations_form table.variations th.label {
    margin: 0 0 9px !important;
}

.single-product form.variations_form table.variations th.label label {
    margin: 0 !important;
    color: #111827 !important;
    font: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* Keep the native WooCommerce select in the DOM for compatibility,
   but replace its visible UI with simple buttons. */
.single-product form.variations_form select.setdio-native-variation-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.single-product .setdio-variation-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .setdio-variation-pill,
.single-product .setdio-variation-pill:hover,
.single-product .setdio-variation-pill:focus,
.single-product .setdio-variation-pill:focus-visible,
.single-product .setdio-variation-pill:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: auto !important;
    min-width: 68px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 17px !important;
    border: 1px solid #d9dde3 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer !important;
}

.single-product .setdio-variation-pill.is-selected,
.single-product .setdio-variation-pill.is-selected:hover,
.single-product .setdio-variation-pill.is-selected:focus,
.single-product .setdio-variation-pill.is-selected:active {
    border-color: #111827 !important;
    background: #111827 !important;
    color: #ffffff !important;
}

.single-product .setdio-variation-pill.is-disabled,
.single-product .setdio-variation-pill:disabled {
    border-color: #e8eaed !important;
    background: #f7f8f9 !important;
    color: #a1a7b0 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

/* WooCommerce reset link: keep it small and unobtrusive. */
.single-product form.variations_form .reset_variations {
    display: inline-block !important;
    margin: 8px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

/* Quantity: [ −  1  + ] */
.single-product form.cart .quantity.setdio-qty-ready {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: 48px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d9dde3 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

.single-product form.cart .quantity.setdio-qty-ready input.qty {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 46px !important;
    text-align: center !important;
}

.single-product form.cart .quantity.setdio-qty-ready input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity.setdio-qty-ready input.qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

.single-product .setdio-qty-btn,
.single-product .setdio-qty-btn:hover,
.single-product .setdio-qty-btn:focus,
.single-product .setdio-qty-btn:focus-visible,
.single-product .setdio-qty-btn:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 46px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer !important;
}

.single-product .setdio-qty-minus {
    border-right: 1px solid #eef0f2 !important;
}

.single-product .setdio-qty-plus {
    border-left: 1px solid #eef0f2 !important;
}

@media (max-width: 600px) {
    .single-product .setdio-variation-pills {
        gap: 8px !important;
    }

    .single-product .setdio-variation-pill,
    .single-product .setdio-variation-pill:hover,
    .single-product .setdio-variation-pill:focus,
    .single-product .setdio-variation-pill:active {
        min-width: 62px !important;
        min-height: 42px !important;
        padding: 9px 14px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    .single-product form.cart .quantity.setdio-qty-ready {
        height: 46px !important;
        border-radius: 11px !important;
        margin-right: 10px !important;
    }

    .single-product form.cart .quantity.setdio-qty-ready input.qty {
        width: 42px !important;
        min-width: 42px !important;
        height: 44px !important;
        line-height: 44px !important;
        font-size: 15px !important;
    }

    .single-product .setdio-qty-btn,
    .single-product .setdio-qty-btn:hover,
    .single-product .setdio-qty-btn:focus,
    .single-product .setdio-qty-btn:active {
        width: 40px !important;
        min-width: 40px !important;
        height: 44px !important;
        min-height: 44px !important;
        line-height: 44px !important;
        font-size: 20px !important;
    }
}

/* =========================================================
   Shop/archive - variation buttons + quantity + quick add
   ========================================================= */
.woocommerce ul.products li.product .setdio-loop-variation,
.woocommerce-page ul.products li.product .setdio-loop-variation,
.setdio-loop-variation {
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.setdio-loop-variation-label {
    margin: 0 0 7px !important;
    color: #111827 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.setdio-loop-variation-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.setdio-loop-variation-pill,
.setdio-loop-variation-pill:hover,
.setdio-loop-variation-pill:focus,
.setdio-loop-variation-pill:focus-visible,
.setdio-loop-variation-pill:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: auto !important;
    min-width: 54px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #d9dde3 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer !important;
}

.setdio-loop-variation-pill.is-selected,
.setdio-loop-variation-pill.is-selected:hover,
.setdio-loop-variation-pill.is-selected:focus,
.setdio-loop-variation-pill.is-selected:active {
    border-color: #111827 !important;
    background: #111827 !important;
    color: #ffffff !important;
}

.setdio-loop-buy-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
}

.setdio-loop-qty {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    height: 40px !important;
    overflow: hidden !important;
    border: 1px solid #d9dde3 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.setdio-loop-qty-btn,
.setdio-loop-qty-btn:hover,
.setdio-loop-qty-btn:focus,
.setdio-loop-qty-btn:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 38px !important;
    text-align: center !important;
    transform: none !important;
    transition: none !important;
}

.setdio-loop-qty-input {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    text-align: center !important;
}

.setdio-loop-qty-input::-webkit-outer-spin-button,
.setdio-loop-qty-input::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

.setdio-loop-add-to-cart,
.setdio-loop-add-to-cart:hover,
.setdio-loop-add-to-cart:focus,
.setdio-loop-add-to-cart:focus-visible,
.setdio-loop-add-to-cart:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #111827 !important;
    border-radius: 9px !important;
    background: #111827 !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer !important;
}

.setdio-loop-add-to-cart:disabled,
.setdio-loop-add-to-cart:disabled:hover,
.setdio-loop-add-to-cart:disabled:focus {
    border-color: #e4e7ec !important;
    background: #f2f4f7 !important;
    color: #98a2b3 !important;
    opacity: 1 !important;
    cursor: default !important;
}

.setdio-loop-cart-status {
    min-height: 16px !important;
    margin: 6px 0 0 !important;
    color: #667085 !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

@media (max-width: 600px) {
    .setdio-loop-variation {
        margin-top: 12px !important;
    }

    .setdio-loop-buy-row {
        gap: 7px !important;
    }

    .setdio-loop-variation-pill,
    .setdio-loop-variation-pill:hover,
    .setdio-loop-variation-pill:focus,
    .setdio-loop-variation-pill:active {
        min-width: 50px !important;
        min-height: 36px !important;
        padding: 7px 11px !important;
        font-size: 12px !important;
    }

    .setdio-loop-add-to-cart,
    .setdio-loop-add-to-cart:hover,
    .setdio-loop-add-to-cart:focus,
    .setdio-loop-add-to-cart:active {
        min-height: 40px !important;
        font-size: 12px !important;
    }
}


@media (max-width: 600px) {
    .setdio-location-bar {
        width: calc(100% - 20px) !important;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        padding: 6px 7px 6px 12px !important;
        border-radius: 14px !important;
        font-size: 13px !important;
    }

    .setdio-location-bar .setdio-change-location {
        flex: 0 0 auto !important;
    }
}

/* =========================================================
   v1.3.3 - Compact WooCommerce "View cart" link after AJAX add
   ========================================================= */
.woocommerce .setdio-loop-buy-row a.added_to_cart.wc-forward,
.woocommerce .setdio-loop-buy-row a.added_to_cart,
.woocommerce ul.products li.product .setdio-loop-buy-row a.added_to_cart.wc-forward,
.woocommerce ul.products li.product .setdio-loop-buy-row a.added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #f2f4f7 !important;
    background-image: none !important;
    color: #344054 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    transform: none !important;
    transition: none !important;
}

.woocommerce .setdio-loop-buy-row a.added_to_cart.wc-forward:hover,
.woocommerce .setdio-loop-buy-row a.added_to_cart.wc-forward:focus,
.woocommerce .setdio-loop-buy-row a.added_to_cart.wc-forward:focus-visible,
.woocommerce .setdio-loop-buy-row a.added_to_cart.wc-forward:active,
.woocommerce .setdio-loop-buy-row a.added_to_cart:hover,
.woocommerce .setdio-loop-buy-row a.added_to_cart:focus,
.woocommerce .setdio-loop-buy-row a.added_to_cart:focus-visible,
.woocommerce .setdio-loop-buy-row a.added_to_cart:active {
    border: 0 !important;
    background: #f2f4f7 !important;
    color: #344054 !important;
    box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;
    transform: none !important;
}

@media (max-width: 600px) {
    .woocommerce .setdio-loop-buy-row a.added_to_cart.wc-forward,
    .woocommerce .setdio-loop-buy-row a.added_to_cart {
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
    }
}

/* =========================================================
   v1.3.4 - Cart page: compact mobile cards + quantity stepper
   ========================================================= */

/* Quantity stepper on the classic WooCommerce cart shortcode. */
.woocommerce-cart-form .quantity.setdio-cart-qty-ready {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d9dde3 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

.woocommerce-cart-form .quantity.setdio-cart-qty-ready input.qty {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 40px !important;
    text-align: center !important;
}

.woocommerce-cart-form .quantity.setdio-cart-qty-ready input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity.setdio-cart-qty-ready input.qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn,
.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:hover,
.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:focus,
.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:focus-visible,
.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #111827 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 40px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer !important;
}

.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-minus {
    border-right: 1px solid #eef0f2 !important;
}

.woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-plus {
    border-left: 1px solid #eef0f2 !important;
}

/* Keep the classic cart clean on desktop too. */
.woocommerce-cart-form table.shop_table {
    border-color: #e5e7eb !important;
}

.woocommerce-cart-form .product-thumbnail img {
    object-fit: cover !important;
    border-radius: 12px !important;
}

/* Mobile: make each WooCommerce row one compact horizontal product card
   instead of stacking every table cell into a tall column. */
@media (max-width: 767px) {
    .woocommerce-cart-form table.shop_table,
    .woocommerce-cart-form table.shop_table tbody {
        display: block !important;
        width: 100% !important;
        border: 0 !important;
        margin: 0 !important;
    }

    .woocommerce-cart-form table.shop_table thead {
        display: none !important;
    }

    .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 88px minmax(0, 1fr) auto !important;
        grid-template-areas:
            "thumb name remove"
            "thumb price price"
            "thumb qty subtotal" !important;
        column-gap: 14px !important;
        row-gap: 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 12px !important;
        padding: 14px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item > td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
        vertical-align: middle !important;
    }

    .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item > td::before {
        display: none !important;
        content: none !important;
    }

    .woocommerce-cart-form td.product-remove {
        grid-area: remove !important;
        align-self: start !important;
        justify-self: end !important;
    }

    .woocommerce-cart-form td.product-thumbnail {
        grid-area: thumb !important;
        align-self: start !important;
    }

    .woocommerce-cart-form td.product-thumbnail::before {
        display: none !important;
    }

    .woocommerce-cart-form td.product-thumbnail a {
        display: block !important;
        width: 88px !important;
        height: 88px !important;
        margin: 0 !important;
    }

    .woocommerce-cart-form td.product-thumbnail img {
        display: block !important;
        width: 88px !important;
        max-width: 88px !important;
        height: 88px !important;
        margin: 0 !important;
        object-fit: cover !important;
        border-radius: 12px !important;
    }

    .woocommerce-cart-form td.product-name {
        grid-area: name !important;
        padding-right: 6px !important;
        align-self: start !important;
    }

    .woocommerce-cart-form td.product-name a {
        display: inline !important;
        color: #111827 !important;
        font-family: inherit !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-decoration: none !important;
    }

    .woocommerce-cart-form td.product-name .variation {
        margin: 5px 0 0 !important;
        color: #667085 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .woocommerce-cart-form td.product-price {
        grid-area: price !important;
        color: #475467 !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    .woocommerce-cart-form td.product-quantity {
        grid-area: qty !important;
        align-self: end !important;
    }

    .woocommerce-cart-form td.product-subtotal {
        grid-area: subtotal !important;
        align-self: center !important;
        justify-self: end !important;
        color: #111827 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart-form a.remove,
    .woocommerce-cart-form a.remove:hover,
    .woocommerce-cart-form a.remove:focus,
    .woocommerce-cart-form a.remove:active {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #f2f4f7 !important;
        color: #667085 !important;
        box-shadow: none !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: 34px !important;
        text-align: center !important;
        text-decoration: none !important;
        transform: none !important;
    }

    .woocommerce-cart-form .quantity.setdio-cart-qty-ready {
        height: 40px !important;
        border-radius: 10px !important;
    }

    .woocommerce-cart-form .quantity.setdio-cart-qty-ready input.qty {
        width: 36px !important;
        min-width: 36px !important;
        height: 38px !important;
        font-size: 14px !important;
        line-height: 38px !important;
    }

    .woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn,
    .woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:hover,
    .woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:focus,
    .woocommerce-cart-form .setdio-cart-qty-ready .setdio-qty-btn:active {
        width: 34px !important;
        min-width: 34px !important;
        height: 38px !important;
        min-height: 38px !important;
        line-height: 38px !important;
        font-size: 18px !important;
    }

    /* Cart actions stay below the cards, not inside the grid. */
    .woocommerce-cart-form table.shop_table tr:not(.woocommerce-cart-form__cart-item) td.actions {
        display: block !important;
        width: 100% !important;
        padding: 8px 0 0 !important;
        border: 0 !important;
    }
}


/* =========================================================
   SETDIO CHECKOUT PRODUCT THUMBNAILS - v1.3.6 HOTFIX
   ========================================================= */
.woocommerce-checkout-review-order-table .setdio-checkout-product-name {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table .setdio-checkout-product-thumb {
    display: inline-flex !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
}
.woocommerce-checkout-review-order-table .setdio-checkout-product-thumb img {
    display: block !important;
    width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    box-shadow: none !important;
}
.woocommerce-checkout-review-order-table .setdio-checkout-product-title {
    display: inline-block !important;
    min-width: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: 1.35 !important;
}
@media (max-width: 767px) {
    .woocommerce-checkout-review-order-table .setdio-checkout-product-name { gap: 10px !important; }
    .woocommerce-checkout-review-order-table .setdio-checkout-product-thumb {
        flex-basis: 54px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 9px !important;
    }
    .woocommerce-checkout-review-order-table .setdio-checkout-product-thumb img {
        width: 54px !important;
        max-width: 54px !important;
        height: 54px !important;
        border-radius: 9px !important;
    }
}

/* =========================================================
   v1.3.8 - Site-wide floating cart (all devices)
   - avoids Elementor/header edits
   - sits above the sticky Setdio location bar when present
   - hidden on Cart / Checkout by PHP
   ========================================================= */
.setdio-floating-cart,
.setdio-floating-cart:hover,
.setdio-floating-cart:focus,
.setdio-floating-cart:focus-visible,
.setdio-floating-cart:active {
    position: fixed !important;
    right: calc(20px + env(safe-area-inset-right, 0px)) !important;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    left: auto !important;
    top: auto !important;
    z-index: 99989 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;
    background: #1E6FD9 !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.20) !important;
    outline: none !important;

    text-decoration: none !important;
    text-indent: 0 !important;
    line-height: 1 !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
}

.setdio-floating-cart--above-location,
.setdio-floating-cart--above-location:hover,
.setdio-floating-cart--above-location:focus,
.setdio-floating-cart--above-location:active {
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
}

.setdio-floating-cart__icon {
    width: 25px !important;
    height: 25px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
}

.setdio-floating-cart__count {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    height: 22px !important;
    box-sizing: border-box !important;
    padding: 0 5px !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #1E6FD9 !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14) !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    text-align: center !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

.setdio-floating-cart__count.is-empty {
    display: none !important;
}

@media (max-width: 600px) {
    .setdio-floating-cart,
    .setdio-floating-cart:hover,
    .setdio-floating-cart:focus,
    .setdio-floating-cart:active {
        right: calc(14px + env(safe-area-inset-right, 0px)) !important;
        bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
    }

    .setdio-floating-cart--above-location,
    .setdio-floating-cart--above-location:hover,
    .setdio-floating-cart--above-location:focus,
    .setdio-floating-cart--above-location:active {
        bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
    }
}
