/**
 * Souss Bliss — Product Form Widget CSS v1.5.1
 * ALL selectors are prefixed with .sb-product-form-wrap for maximum specificity.
 * !important used throughout to override Elementor + WooCommerce + theme styles.
 * Actual rendered DOM classes:
 *   Wrapper      : .sb-product-form-wrap
 *   Form         : .sb-product-form  (.variations_form  .cart)
 *   Qty wrapper  : .sb-quantity  .quantity
 *   Qty input    : .sb-qty-input  .input-text  .qty  .text
 *   Qty btns     : .sb-qty-btn  .sb-qty-minus / .sb-qty-plus
 *   Add to Cart  : .sb-btn  .sb-btn--secondary  .single_add_to_cart_button  .button
 *   Order Now    : .sb-btn  .sb-btn--primary  .sb-order-now-btn
 *   Pills        : .sb-pill (label)  /  .sb-pill__input (radio)
 *   Confirm CTA  : .sb-btn  .sb-btn--primary  .sb-order-submit
 */

/* ─── CSS tokens ─────────────────────────────────────────────── */
.sb-product-form-wrap {
    --sb-green:       #2B5341;
    --sb-green-dk:    #1F3D2E;
    --sb-green-lt:    #eef5ef;
    --sb-red:         #C0392B;
    --sb-red-dk:      #922B21;
    --sb-honey:       #D9A441;
    --sb-gold:        #F5D68A;
    --sb-cream:       #FAF7F0;
    --sb-cream-dk:    #F0E9D8;
    --sb-ink:         #1C2B22;
    --sb-muted:       #7A8C80;
    --sb-border:      rgba(43,83,65,.15);
    --sb-white:       #ffffff;
    --sb-radius:      14px;
    --sb-radius-pill: 999px;
    --sb-shadow:      0 4px 16px rgba(43,83,65,.11);
    --sb-shadow-lg:   0 10px 32px rgba(43,83,65,.18);
}

/* ─── Wrapper ────────────────────────────────────────────────── */
.sb-product-form-wrap {
    font-family: 'Cairo', system-ui, sans-serif !important;
    color: var(--sb-ink) !important;
    direction: rtl !important;
    width: 100% !important;
    -webkit-font-smoothing: antialiased !important;
}

.sb-product-form-wrap .sb-form-empty {
    padding: 1.25rem !important;
    background: var(--sb-cream) !important;
    border: 1.5px dashed var(--sb-border) !important;
    border-radius: var(--sb-radius) !important;
    color: var(--sb-muted) !important;
    text-align: center !important;
}

/* ─── Product form shell ─────────────────────────────────────── */
.sb-product-form-wrap .sb-product-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* ─── Product Name ───────────────────────────────────────────── */
.sb-product-form-wrap .sb-product-name {
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    color: var(--sb-green) !important;
    letter-spacing: -.02em !important;
    text-align: right !important;
    direction: rtl !important;
    background: none !important;
    border: none !important;
    text-shadow: none !important;
}

@media (max-width: 480px) {
    .sb-product-form-wrap .sb-product-name { font-size: 23px !important; }
}

/* ─── Section heading (variation label) ─────────────────────── */
.sb-product-form-wrap .sb-variation-label {
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: var(--sb-ink) !important;
    letter-spacing: .1px !important;
    min-width: 0 !important;
    margin-bottom: 8px !important;
}

/* ─── Variation wrapper ──────────────────────────────────────── */
.sb-product-form-wrap .sb-variations {
    display: flex !important;
    flex-direction: column !important;
    gap: .9rem !important;
}

.sb-product-form-wrap .sb-variation-row {
    display: flex !important;
    flex-direction: column !important;
    gap: .45rem !important;
}

.sb-product-form-wrap .sb-variation-control { flex: 1 !important; }

/* ─── Dropdown select (dropdown mode) ───────────────────────── */
.sb-product-form-wrap .sb-variations select,
.sb-product-form-wrap .variations select {
    width: 100% !important;
    padding: 10px 14px !important;
    padding-inline-start: 2.5rem !important;
    border: 2px solid var(--sb-border) !important;
    border-radius: var(--sb-radius) !important;
    background-color: var(--sb-white) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%232B5341' d='M6 8L0 0h12z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: left 14px center !important;
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 15px !important;
    color: var(--sb-ink) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: 0 2px 8px rgba(43,83,65,.06) !important;
    cursor: pointer !important;
    transition: border-color .2s, box-shadow .2s !important;
    outline: none !important;
}

.sb-product-form-wrap .sb-variations select:focus,
.sb-product-form-wrap .variations select:focus {
    border-color: var(--sb-green) !important;
    box-shadow: 0 0 0 3px rgba(43,83,65,.14) !important;
}

/* Hide native select in pills mode */
.sb-product-form-wrap .sb-variations--buttons select,
.sb-product-form-wrap .sb-variations--buttons .variations select {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    margin: -1px !important; padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
    pointer-events: none !important;
}

/* ─── Pills ──────────────────────────────────────────────────── */
.sb-product-form-wrap .sb-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 6px !important;
    direction: rtl !important;
}

/* Radio – visually hidden */
.sb-product-form-wrap .sb-pill__input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Pill card */
.sb-product-form-wrap .sb-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    padding: 12px 20px !important;
    min-height: 54px !important;
    background: var(--sb-white) !important;
    color: var(--sb-ink) !important;
    border: 2px solid rgba(43,83,65,.16) !important;
    border-radius: var(--sb-radius) !important;
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    user-select: none !important;
    box-shadow: 0 2px 8px rgba(43,83,65,.07) !important;
    transition:
        border-color 220ms ease,
        color 220ms ease,
        background 220ms ease,
        box-shadow 220ms ease,
        transform 180ms ease !important;
    text-decoration: none !important;
}

/* Radio circle */
.sb-product-form-wrap .sb-pill__check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(43,83,65,.22) !important;
    background: var(--sb-cream) !important;
    flex-shrink: 0 !important;
    transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease !important;
}

/* Pill hover */
.sb-product-form-wrap .sb-pill:hover {
    border-color: var(--sb-green) !important;
    color: var(--sb-green) !important;
    box-shadow: 0 6px 20px rgba(43,83,65,.14) !important;
    transform: translateY(-2px) !important;
    background: var(--sb-cream) !important;
}

.sb-product-form-wrap .sb-pill:hover .sb-pill__check {
    border-color: var(--sb-green) !important;
}

/* Pill selected (checked) */
.sb-product-form-wrap .sb-pill__input:checked + .sb-pill {
    background: linear-gradient(135deg, #f3f9f5 0%, #e8f4ec 100%) !important;
    border-color: var(--sb-green) !important;
    border-width: 2.5px !important;
    color: var(--sb-green) !important;
    font-weight: 800 !important;
    box-shadow:
        0 6px 20px rgba(43,83,65,.16),
        inset 0 0 0 1px rgba(43,83,65,.18) !important;
    transform: translateY(-1px) !important;
}

.sb-product-form-wrap .sb-pill__input:checked + .sb-pill .sb-pill__check {
    border-color: var(--sb-green) !important;
    background: var(--sb-green) !important;
    box-shadow: 0 0 0 3px rgba(43,83,65,.18) !important;
}

/* White inner dot on checked radio */
.sb-product-form-wrap .sb-pill__input:checked + .sb-pill .sb-pill__check::after {
    content: '' !important;
    display: block !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--sb-white) !important;
}

/* Pill focus */
.sb-product-form-wrap .sb-pill__input:focus-visible + .sb-pill {
    outline: 2.5px solid var(--sb-green) !important;
    outline-offset: 3px !important;
}

/* Pill disabled */
.sb-product-form-wrap .sb-pill--disabled,
.sb-product-form-wrap .sb-pill__input:disabled + .sb-pill {
    opacity: .38 !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
    pointer-events: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.sb-product-form-wrap .sb-reset-variations {
    color: var(--sb-muted) !important;
    font-size: .82rem !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

/* Variation price */
.sb-product-form-wrap .sb-single-variation .price,
.sb-product-form-wrap .woocommerce-variation-price .price {
    font-family: 'Outfit', 'Cairo', system-ui, sans-serif !important;
    font-size: 1.65rem !important;
    font-weight: 900 !important;
    color: var(--sb-green) !important;
}

.sb-product-form-wrap .sb-single-variation .price del,
.sb-product-form-wrap .woocommerce-variation-price .price del {
    color: var(--sb-muted) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    margin-inline-end: .5rem !important;
}

.sb-product-form-wrap .sb-single-variation .stock { color: #16A34A !important; font-weight: 700 !important; font-size: .85rem !important; }
.sb-product-form-wrap .sb-single-variation .stock.out-of-stock { color: var(--sb-red) !important; }

/* ─── Quantity selector ─────────────────────────────────────── */

/* Wrapper — targets both .sb-quantity and WC .quantity */
.sb-product-form-wrap .sb-quantity,
.sb-product-form-wrap .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    background: var(--sb-white) !important;
    border: 2px solid rgba(43,83,65,.2) !important;
    border-radius: var(--sb-radius-pill) !important;
    overflow: hidden !important;
    width: fit-content !important;
    box-shadow: 0 2px 10px rgba(43,83,65,.09) !important;
    transition: border-color .2s, box-shadow .2s !important;
    gap: 0 !important;
    padding: 0 !important;
}

.sb-product-form-wrap .sb-quantity:focus-within,
.sb-product-form-wrap .quantity:focus-within {
    border-color: var(--sb-green) !important;
    box-shadow: 0 0 0 3px rgba(43,83,65,.13) !important;
}

/* ± buttons */
.sb-product-form-wrap .sb-qty-btn,
.sb-product-form-wrap .quantity button {
    width: 46px !important;
    min-width: 46px !important;
    height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--sb-cream) !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--sb-green) !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .15s, color .15s !important;
    box-shadow: none !important;
    text-shadow: none !important;
    flex-shrink: 0 !important;
}

.sb-product-form-wrap .sb-qty-btn:hover,
.sb-product-form-wrap .quantity button:hover {
    background: var(--sb-green) !important;
    color: var(--sb-white) !important;
}

.sb-product-form-wrap .sb-qty-btn:active,
.sb-product-form-wrap .quantity button:active {
    background: var(--sb-green-dk) !important;
    color: var(--sb-white) !important;
}

/* Qty input — also targets WC .input-text.qty */
.sb-product-form-wrap .sb-qty-input,
.sb-product-form-wrap input.qty,
.sb-product-form-wrap input[type=number].qty,
.sb-product-form-wrap .quantity input.qty {
    width: 56px !important;
    min-width: 0 !important;
    height: 48px !important;
    border: none !important;
    border-left: 1px solid rgba(43,83,65,.12) !important;
    border-right: 1px solid rgba(43,83,65,.12) !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-family: 'Outfit', 'Cairo', system-ui, sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 900 !important;
    color: var(--sb-ink) !important;
    background: var(--sb-white) !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    flex-shrink: 0 !important;
}

.sb-product-form-wrap .sb-qty-input::-webkit-inner-spin-button,
.sb-product-form-wrap .sb-qty-input::-webkit-outer-spin-button,
.sb-product-form-wrap input.qty::-webkit-inner-spin-button,
.sb-product-form-wrap input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.sb-product-form-wrap .sb-qty-input:focus,
.sb-product-form-wrap input.qty:focus {
    outline: none !important;
    background: #fdfcf8 !important;
}

/* ─── Buttons container ──────────────────────────────────────── */
.sb-product-form-wrap .sb-product-form__buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: .75rem !important;
    margin-top: .5rem !important;
}

@media (min-width: 580px) {
    .sb-product-form-wrap .sb-product-form__buttons {
        flex-direction: row !important;
    }
}

/* ─── Button base ────────────────────────────────────────────── */
.sb-product-form-wrap .sb-btn,
.sb-product-form-wrap button.sb-btn {
    flex: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .55rem !important;
    padding: 15px 22px !important;
    border-radius: var(--sb-radius) !important;
    border: none !important;
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    min-height: 54px !important;
    letter-spacing: .3px !important;
    transition: transform .18s ease, box-shadow .2s ease, background .2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    text-transform: none !important;
}

.sb-product-form-wrap .sb-btn:focus-visible {
    outline: 2.5px solid var(--sb-green) !important;
    outline-offset: 3px !important;
}

.sb-product-form-wrap .sb-btn:disabled {
    opacity: .48 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

/* ─── Add to Cart: .sb-btn--secondary.single_add_to_cart_button ─ */
.sb-product-form-wrap .sb-btn--secondary,
.sb-product-form-wrap button.sb-btn--secondary,
.sb-product-form-wrap .single_add_to_cart_button.sb-btn,
.sb-product-form-wrap button.single_add_to_cart_button {
    background: linear-gradient(135deg, #2B5341 0%, #1f3d2e 100%) !important;
    color: var(--sb-white) !important;
    border: none !important;
    box-shadow:
        0 4px 0 #153020,
        0 8px 22px rgba(43,83,65,.25) !important;
}

.sb-product-form-wrap .sb-btn--secondary:hover:not(:disabled),
.sb-product-form-wrap button.sb-btn--secondary:hover:not(:disabled),
.sb-product-form-wrap .single_add_to_cart_button.sb-btn:hover:not(:disabled),
.sb-product-form-wrap button.single_add_to_cart_button:hover:not(:disabled) {
    background: linear-gradient(135deg, #2e5e49 0%, #233f31 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 6px 0 #153020,
        0 14px 30px rgba(43,83,65,.3) !important;
}

.sb-product-form-wrap .sb-btn--secondary:active:not(:disabled),
.sb-product-form-wrap button.single_add_to_cart_button:active:not(:disabled) {
    transform: translateY(1px) !important;
    box-shadow: 0 2px 0 #153020, 0 4px 10px rgba(43,83,65,.18) !important;
}

/* ─── Order Now: .sb-btn--primary.sb-order-now-btn ───────────── */
.sb-product-form-wrap .sb-btn--primary,
.sb-product-form-wrap button.sb-btn--primary,
.sb-product-form-wrap .sb-order-now-btn {
    background: linear-gradient(135deg, #C0392B 0%, #a93226 100%) !important;
    color: var(--sb-white) !important;
    border: none !important;
    box-shadow:
        0 4px 0 #7b1d15,
        0 8px 22px rgba(192,57,43,.28) !important;
}

.sb-product-form-wrap .sb-btn--primary:hover:not(:disabled),
.sb-product-form-wrap button.sb-btn--primary:hover:not(:disabled),
.sb-product-form-wrap .sb-order-now-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #a93226 0%, #922b21 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 6px 0 #7b1d15,
        0 14px 30px rgba(192,57,43,.34) !important;
}

.sb-product-form-wrap .sb-btn--primary:active:not(:disabled),
.sb-product-form-wrap .sb-order-now-btn:active:not(:disabled) {
    transform: translateY(1px) !important;
    box-shadow: 0 2px 0 #7b1d15, 0 4px 10px rgba(192,57,43,.2) !important;
}

/* ─── Confirm Order button (inside .sb-order-panel) ─────────── */
/* Override the primary red above specifically for the submit button */
.sb-product-form-wrap .sb-order-submit,
.sb-product-form-wrap button.sb-order-submit,
.sb-product-form-wrap .sb-btn.sb-order-submit {
    width: 100% !important;
    flex: none !important;
    margin-top: 10px !important;
    padding: 16px 26px !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    letter-spacing: .5px !important;
    background: linear-gradient(135deg, #2B5341 0%, #1f3d2e 100%) !important;
    border: none !important;
    color: #FBF7EE !important;
    border-radius: var(--sb-radius) !important;
    box-shadow:
        0 5px 0 #153020,
        0 10px 26px rgba(43,83,65,.3) !important;
    opacity: 1 !important;
    filter: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .55rem !important;
}

.sb-product-form-wrap .sb-order-submit:hover:not(:disabled),
.sb-product-form-wrap button.sb-order-submit:hover:not(:disabled) {
    background: linear-gradient(135deg, #2e5e49 0%, #233f31 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 7px 0 #153020,
        0 16px 34px rgba(43,83,65,.35) !important;
}

.sb-product-form-wrap .sb-order-submit:active:not(:disabled) {
    transform: translateY(1px) !important;
    box-shadow: 0 2px 0 #153020, 0 4px 12px rgba(43,83,65,.2) !important;
}

.sb-product-form-wrap .sb-order-submit .sb-btn-label {
    color: #FBF7EE !important;
    opacity: 1 !important;
}

.sb-product-form-wrap .sb-btn-spinner {
    width: 1.1rem !important;
    height: 1.1rem !important;
    border-radius: 9999px !important;
    border: 2.5px solid rgba(255,255,255,.35) !important;
    border-top-color: #fff !important;
    display: inline-block !important;
    animation: sb-spin .7s linear infinite !important;
}

@keyframes sb-spin { to { transform: rotate(360deg); } }

.sb-product-form-wrap .sb-order-submit:disabled {
    animation: none !important;
}

/* ─── Out-of-stock notice ────────────────────────────────────── */
.sb-product-form-wrap .sb-stock--out {
    color: var(--sb-red) !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* ─── Order Panel ────────────────────────────────────────────── */
.sb-product-form-wrap .sb-order-panel {
    position: relative !important;
    margin-top: 1.25rem !important;
    padding: 1.75rem !important;
    background: linear-gradient(160deg, #fdfaf4 0%, #f4ecdb 100%) !important;
    border: 1.5px solid rgba(43,83,65,.14) !important;
    border-radius: 20px !important;
    box-shadow: 0 6px 28px rgba(43,83,65,.1) !important;
    animation: sb-panel-in .28s cubic-bezier(.2,.7,.3,1) !important;
}

@keyframes sb-panel-in {
    from { opacity: 0; transform: translateY(-10px) scale(.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.sb-product-form-wrap .sb-order-panel__close {
    position: absolute !important;
    top: .9rem !important;
    inset-inline-end: .9rem !important;
    width: 2.1rem !important;
    height: 2.1rem !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(43,83,65,.09) !important;
    color: var(--sb-ink) !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .15s, transform .15s !important;
    box-shadow: none !important;
}

.sb-product-form-wrap .sb-order-panel__close:hover {
    background: rgba(43,83,65,.17) !important;
    transform: rotate(90deg) !important;
}

.sb-product-form-wrap .sb-order-panel__header {
    margin-bottom: 1.25rem !important;
    padding-inline-end: 2.75rem !important;
}

.sb-product-form-wrap .sb-order-panel__title {
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
    color: var(--sb-green) !important;
    margin: 0 0 .3rem !important;
    letter-spacing: -.01em !important;
}

.sb-product-form-wrap .sb-order-panel__subtitle {
    font-size: .88rem !important;
    color: var(--sb-muted) !important;
    margin: 0 !important;
}

/* ─── Form fields ────────────────────────────────────────────── */
.sb-product-form-wrap .sb-order-form {
    display: flex !important;
    flex-direction: column !important;
    gap: .9rem !important;
}

.sb-product-form-wrap .sb-field {
    display: flex !important;
    flex-direction: column !important;
    gap: .4rem !important;
}

.sb-product-form-wrap .sb-field label {
    font-size: .88rem !important;
    font-weight: 700 !important;
    color: var(--sb-ink) !important;
    letter-spacing: .1px !important;
}

.sb-product-form-wrap .sb-field input,
.sb-product-form-wrap .sb-field textarea {
    width: 100% !important;
    padding: .75rem 1rem !important;
    border: 1.5px solid rgba(43,83,65,.18) !important;
    border-radius: 10px !important;
    background: var(--sb-white) !important;
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: .95rem !important;
    color: var(--sb-ink) !important;
    transition: border-color .2s, box-shadow .2s !important;
    line-height: 1.4 !important;
    box-shadow: 0 1px 4px rgba(43,83,65,.05) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
}

.sb-product-form-wrap .sb-field input:focus,
.sb-product-form-wrap .sb-field textarea:focus {
    border-color: var(--sb-green) !important;
    box-shadow: 0 0 0 3.5px rgba(43,83,65,.13) !important;
    background: #fdfcf8 !important;
    outline: none !important;
}

.sb-product-form-wrap .sb-field textarea {
    resize: vertical !important;
    min-height: 3.25rem !important;
}

.sb-product-form-wrap .sb-field--invalid input,
.sb-product-form-wrap .sb-field--invalid textarea {
    border-color: var(--sb-red) !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.1) !important;
}

.sb-product-form-wrap .sb-required { color: var(--sb-red) !important; }

.sb-product-form-wrap .sb-error {
    color: var(--sb-red) !important;
    font-size: .8rem !important;
    min-height: 1em !important;
    font-weight: 600 !important;
}

.sb-product-form-wrap .sb-error--general {
    margin: .3rem 0 0 !important;
    text-align: center !important;
    font-weight: 700 !important;
}

.sb-product-form-wrap .sb-order-form__note {
    text-align: center !important;
    font-size: .78rem !important;
    color: var(--sb-muted) !important;
    margin: .35rem 0 0 !important;
}

/* ─── Success ────────────────────────────────────────────────── */
.sb-product-form-wrap .sb-order-success {
    text-align: center !important;
    padding: 2rem .75rem !important;
}

.sb-product-form-wrap .sb-order-success__icon {
    width: 4rem !important;
    height: 4rem !important;
    margin: 0 auto 1rem !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #16A34A 0%, #15803d 100%) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.85rem !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 24px rgba(22,163,74,.28) !important;
    animation: sb-pop-in .4s cubic-bezier(.175,.885,.32,1.275) both !important;
}

@keyframes sb-pop-in {
    from { transform: scale(.4); opacity: 0; }
    to   { transform: scale(1);  opacity: 1; }
}

.sb-product-form-wrap .sb-order-success__msg {
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: var(--sb-green) !important;
    margin: 0 !important;
}

/* ─── Order Summary ──────────────────────────────────────────── */
.sb-product-form-wrap .sb-order-summary {
    margin: 14px 0 10px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #fdfaf3 0%, #f0e9d2 100%) !important;
    border: 1.5px solid rgba(43,83,65,.18) !important;
    border-radius: var(--sb-radius) !important;
    box-shadow: 0 3px 12px rgba(43,83,65,.07) !important;
    color: var(--sb-ink) !important;
    direction: rtl !important;
    text-align: right !important;
    font-family: 'Cairo', system-ui, sans-serif !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Top accent stripe */
.sb-product-form-wrap .sb-order-summary::before {
    content: '' !important;
    display: block !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--sb-honey), var(--sb-green), var(--sb-honey)) !important;
    border-radius: 0 !important;
}

.sb-product-form-wrap .sb-order-summary__title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 14px 18px 10px !important;
    border-bottom: 1px solid rgba(43,83,65,.1) !important;
    font-weight: 800 !important;
    font-size: 14.5px !important;
    color: var(--sb-green) !important;
}

.sb-product-form-wrap .sb-order-summary__title-icon {
    font-size: 17px !important;
    line-height: 1 !important;
}

.sb-product-form-wrap .sb-order-summary__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 18px !important;
}

.sb-product-form-wrap .sb-order-summary__row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 12px !important;
    padding: 7px 0 !important;
    font-size: 14px !important;
}

.sb-product-form-wrap .sb-order-summary__row + .sb-order-summary__row {
    border-top: 1px solid rgba(43,83,65,.06) !important;
}

.sb-product-form-wrap .sb-order-summary__label {
    color: var(--sb-muted) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    flex: 0 0 auto !important;
}

.sb-product-form-wrap .sb-order-summary__value {
    color: var(--sb-ink) !important;
    font-weight: 700 !important;
    text-align: left !important;
    word-break: break-word !important;
    flex: 1 1 auto !important;
    font-size: 13.5px !important;
}

.sb-product-form-wrap .sb-order-summary__total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 8px 14px 14px !important;
    padding: 14px 16px !important;
    background: linear-gradient(135deg, #2B5341 0%, #1f3d2e 100%) !important;
    color: #fbf7ee !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 0 #153020, 0 6px 18px rgba(43,83,65,.22) !important;
}

.sb-product-form-wrap .sb-order-summary__total-label {
    font-size: 14px !important;
    font-weight: 700 !important;
    opacity: .9 !important;
    color: #fbf7ee !important;
}

.sb-product-form-wrap .sb-order-summary__total-value {
    font-family: 'Outfit', 'Cairo', system-ui, sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: var(--sb-gold) !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.12) !important;
}

.sb-product-form-wrap .sb-order-summary__total--pending .sb-order-summary__total-value {
    color: #fbf7ee !important;
    opacity: .55 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.sb-product-form-wrap .sb-order-summary__note--missing {
    margin: 0 14px 14px !important;
    padding: 9px 12px !important;
    background: #fff9e6 !important;
    border: 1px dashed #d4a017 !important;
    border-radius: 8px !important;
    color: #7a4a00 !important;
    font-size: 12.5px !important;
    text-align: center !important;
    font-weight: 600 !important;
}

/* Shipping row */
.sb-product-form-wrap .sb-order-summary__row--shipping .sb-order-summary__value--shipping {
    font-weight: 800 !important;
    color: var(--sb-green) !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    text-align: left !important;
}

.sb-product-form-wrap .sb-order-summary__row--shipping.sb-is-free .sb-order-summary__value--shipping {
    color: #16a34a !important;
    direction: rtl !important;
    background: rgba(22,163,74,.09) !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
}

/* ─── Animations ─────────────────────────────────────────────── */
@keyframes sb-anim-pulse {
    0%   { transform: scale(1);    box-shadow: 0 5px 0 #7b1d15, 0 0 0 0 rgba(192,57,43,.5); }
    70%  { transform: scale(1.03); box-shadow: 0 5px 0 #7b1d15, 0 0 0 12px rgba(192,57,43,0); }
    100% { transform: scale(1);    box-shadow: 0 5px 0 #7b1d15, 0 0 0 0 rgba(192,57,43,0); }
}

@keyframes sb-anim-pulse-submit {
    0%   { transform: scale(1);    box-shadow: 0 5px 0 #153020, 0 0 0 0 rgba(43,83,65,.5); }
    70%  { transform: scale(1.03); box-shadow: 0 5px 0 #153020, 0 0 0 12px rgba(43,83,65,0); }
    100% { transform: scale(1);    box-shadow: 0 5px 0 #153020, 0 0 0 0 rgba(43,83,65,0); }
}

@keyframes sb-anim-shake {
    0%, 100%                  { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90%   { transform: translateX(-4px); }
    20%, 40%, 60%, 80%        { transform: translateX(4px); }
}

@keyframes sb-anim-bounce {
    0%, 100%  { transform: translateY(0); }
    40%       { transform: translateY(-7px); }
    60%       { transform: translateY(-3px); }
}

.sb-product-form-wrap .sb-anim-pulse  { animation: sb-anim-pulse  1.9s ease-in-out infinite !important; }
.sb-product-form-wrap .sb-anim-shake  { animation: sb-anim-shake  1.6s ease-in-out infinite !important; }
.sb-product-form-wrap .sb-anim-bounce { animation: sb-anim-bounce 1.6s ease-in-out infinite !important; }

.sb-product-form-wrap .sb-order-submit.sb-anim-pulse  { animation: sb-anim-pulse-submit 1.9s ease-in-out infinite !important; }
.sb-product-form-wrap .sb-order-submit:disabled { animation: none !important; }

@media (prefers-reduced-motion: reduce) {
    .sb-product-form-wrap .sb-anim-pulse,
    .sb-product-form-wrap .sb-anim-shake,
    .sb-product-form-wrap .sb-anim-bounce { animation: none !important; }
}

/* ─── Sticky mobile bar ──────────────────────────────────────── */
.sb-sticky-mobile-bar { display: none; }

@media (max-width: 768px) {
    .sb-has-sticky-mobile .sb-sticky-mobile-bar {
        display: block !important;
        position: fixed !important;
        left: 0; right: 0; bottom: 0 !important;
        z-index: 9999 !important;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom,0)) !important;
        background: var(--sb-white) !important;
        border-top: 1.5px solid rgba(43,83,65,.14) !important;
        box-shadow: 0 -6px 24px rgba(0,0,0,.1) !important;
    }

    .sb-has-sticky-mobile .sb-sticky-mobile-bar .sb-order-now-btn--sticky {
        width: 100% !important;
        margin: 0 !important;
        border-radius: var(--sb-radius-pill) !important;
    }

    .sb-has-sticky-mobile { padding-bottom: 88px !important; }
}

/* ─── Responsive tweaks ──────────────────────────────────────── */
@media (max-width: 640px) {
    .sb-product-form-wrap .sb-order-panel {
        padding: 1.25rem !important;
        border-radius: 16px !important;
    }

    .sb-product-form-wrap .sb-btn {
        font-size: .98rem !important;
        min-height: 50px !important;
    }

    .sb-product-form-wrap .sb-pill {
        padding: 10px 14px !important;
        font-size: 13.5px !important;
        min-height: 46px !important;
        border-radius: 12px !important;
    }
}

/* ════════════════════════════════════════════════════════════════
   v1.5.2 — Match the target screenshot exactly
   ════════════════════════════════════════════════════════════════ */

/* ─── Header bar (leaf icon + title + subtitle) ──────────────── */
.sb-product-form-wrap .sb-header {
    background: linear-gradient(180deg, #f4faf4 0%, #e8f3e9 100%) !important;
    border: 1.5px solid rgba(91,181,79,.18) !important;
    border-radius: 18px !important;
    padding: 18px 22px !important;
    margin: 0 0 18px !important;
    box-shadow: 0 2px 10px rgba(43,83,65,.06) !important;
}
.sb-product-form-wrap .sb-header__row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.sb-product-form-wrap .sb-header__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 0 !important;
}
.sb-product-form-wrap .sb-header__icon svg {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
}
.sb-product-form-wrap .sb-header .sb-product-name {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    color: var(--sb-green) !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em !important;
    text-align: right !important;
    background: none !important;
    border: none !important;
    text-shadow: none !important;
}
.sb-product-form-wrap .sb-header__subtitle {
    margin: 4px 0 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: #6b7d72 !important;
    text-align: right !important;
    font-weight: 500 !important;
    letter-spacing: .1px !important;
    direction: rtl !important;
}
@media (max-width: 480px) {
    .sb-product-form-wrap .sb-header { padding: 14px 16px !important; border-radius: 14px !important; }
    .sb-product-form-wrap .sb-header .sb-product-name { font-size: 24px !important; }
    .sb-product-form-wrap .sb-header__icon svg { width: 28px !important; height: 28px !important; }
}

/* ─── Trust badges row ───────────────────────────────────────── */
.sb-product-form-wrap .sb-trust-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-around !important;
    gap: 6px !important;
    padding: 13px 14px !important;
    background: linear-gradient(180deg, #f7faf7 0%, #edf5ee 100%) !important;
    border: 1px solid rgba(91,181,79,.18) !important;
    border-radius: 14px !important;
    margin: 6px 0 4px !important;
    direction: rtl !important;
    box-shadow: 0 1px 6px rgba(43,83,65,.05) !important;
}
.sb-product-form-wrap .sb-trust-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex: 1 1 0 !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
}
.sb-product-form-wrap .sb-trust-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #3F8E3A !important;
    flex-shrink: 0 !important;
    line-height: 0 !important;
}
.sb-product-form-wrap .sb-trust-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
}
.sb-product-form-wrap .sb-trust-label {
    font-family: 'Cairo', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--sb-ink) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}
.sb-product-form-wrap .sb-trust-divider {
    display: inline-block !important;
    width: 1px !important;
    height: 22px !important;
    background: rgba(91,181,79,.32) !important;
    flex: 0 0 1px !important;
}
@media (max-width: 480px) {
    .sb-product-form-wrap .sb-trust-row { padding: 10px 8px !important; gap: 4px !important; }
    .sb-product-form-wrap .sb-trust-label { font-size: 11.5px !important; }
    .sb-product-form-wrap .sb-trust-icon svg { width: 16px !important; height: 16px !important; }
}

/* ─── Pills as 2-col grid with image on right ────────────────── */
.sb-product-form-wrap .sb-pills {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 6px !important;
    direction: rtl !important;
}
.sb-product-form-wrap .sb-pill {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 68px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
}
.sb-product-form-wrap .sb-pill__image {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 10px !important;
    background: var(--sb-cream) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(43,83,65,.06) !important;
    padding: 3px !important;
}
.sb-product-form-wrap .sb-pill__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 7px !important;
}
.sb-product-form-wrap .sb-pill .sb-pill__label {
    flex: 1 1 auto !important;
    text-align: center !important;
    font-size: 14.5px !important;
    line-height: 1.3 !important;
}
.sb-product-form-wrap .sb-pill .sb-pill__check {
    margin-inline-start: 0 !important;
}
@media (max-width: 420px) {
    .sb-product-form-wrap .sb-pills { grid-template-columns: 1fr !important; }
}

/* ─── Quantity selector — cream tint to match screenshot ────── */
.sb-product-form-wrap .sb-quantity,
.sb-product-form-wrap .quantity {
    background: #fdfaf2 !important;
    border-color: rgba(91,181,79,.28) !important;
    border-radius: 14px !important;
}
.sb-product-form-wrap .sb-qty-btn,
.sb-product-form-wrap .quantity button {
    background: transparent !important;
    color: #3F8E3A !important;
    font-size: 1.5rem !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
}
.sb-product-form-wrap .sb-qty-btn:hover,
.sb-product-form-wrap .quantity button:hover {
    background: rgba(91,181,79,.12) !important;
    color: #2f7a2c !important;
}
.sb-product-form-wrap .sb-qty-input,
.sb-product-form-wrap input.qty,
.sb-product-form-wrap input[type=number].qty,
.sb-product-form-wrap .quantity input.qty {
    height: 50px !important;
    background: transparent !important;
    border-left: 1px solid rgba(91,181,79,.22) !important;
    border-right: 1px solid rgba(91,181,79,.22) !important;
    font-size: 1.2rem !important;
}

/* ─── Add to Cart — bright lime green to match screenshot ───── */
.sb-product-form-wrap .sb-btn--secondary,
.sb-product-form-wrap button.sb-btn--secondary,
.sb-product-form-wrap .single_add_to_cart_button.sb-btn,
.sb-product-form-wrap button.single_add_to_cart_button {
    background: linear-gradient(135deg, #7CB342 0%, #689F38 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow:
        0 4px 0 #4a7d28,
        0 8px 22px rgba(124,179,66,.28) !important;
    border-radius: 14px !important;
}
.sb-product-form-wrap .sb-btn--secondary:hover:not(:disabled),
.sb-product-form-wrap button.sb-btn--secondary:hover:not(:disabled),
.sb-product-form-wrap .single_add_to_cart_button.sb-btn:hover:not(:disabled),
.sb-product-form-wrap button.single_add_to_cart_button:hover:not(:disabled) {
    background: linear-gradient(135deg, #85bd47 0%, #71ab3d 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 6px 0 #4a7d28,
        0 14px 30px rgba(124,179,66,.34) !important;
}
.sb-product-form-wrap .sb-btn--secondary:active:not(:disabled),
.sb-product-form-wrap button.single_add_to_cart_button:active:not(:disabled) {
    transform: translateY(1px) !important;
    box-shadow: 0 2px 0 #4a7d28, 0 4px 10px rgba(124,179,66,.2) !important;
}

/* ─── Order Now — slightly brighter red to match screenshot ─── */
.sb-product-form-wrap .sb-btn--primary,
.sb-product-form-wrap button.sb-btn--primary,
.sb-product-form-wrap .sb-order-now-btn {
    background: linear-gradient(135deg, #E74C3C 0%, #c0392b 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow:
        0 4px 0 #962c20,
        0 8px 22px rgba(231,76,60,.3) !important;
    border-radius: 14px !important;
}
.sb-product-form-wrap .sb-btn--primary:hover:not(:disabled),
.sb-product-form-wrap button.sb-btn--primary:hover:not(:disabled),
.sb-product-form-wrap .sb-order-now-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #ec5544 0%, #cb4030 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 6px 0 #962c20,
        0 14px 30px rgba(231,76,60,.36) !important;
}
.sb-product-form-wrap .sb-btn--primary:active:not(:disabled),
.sb-product-form-wrap .sb-order-now-btn:active:not(:disabled) {
    transform: translateY(1px) !important;
    box-shadow: 0 2px 0 #962c20, 0 4px 10px rgba(231,76,60,.22) !important;
}

/* Confirm submit (re-affirm green so it isn't the red primary) */
.sb-product-form-wrap .sb-order-submit,
.sb-product-form-wrap button.sb-order-submit {
    background: linear-gradient(135deg, #2B5341 0%, #1f3d2e 100%) !important;
    box-shadow:
        0 5px 0 #153020,
        0 10px 26px rgba(43,83,65,.3) !important;
}

/* ─── Buttons: SVG icon + text layout ────────────────────────── */
.sb-product-form-wrap .sb-btn {
    gap: .65rem !important;
}
.sb-product-form-wrap .sb-btn-icon {
    flex-shrink: 0 !important;
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    color: currentColor !important;
}
.sb-product-form-wrap .sb-btn-text {
    display: inline-block !important;
    font-weight: 900 !important;
    letter-spacing: .3px !important;
}

/* Update animation pulse colors to match new red */
@keyframes sb-anim-pulse {
    0%   { transform: scale(1);    box-shadow: 0 4px 0 #962c20, 0 0 0 0 rgba(231,76,60,.5); }
    70%  { transform: scale(1.03); box-shadow: 0 4px 0 #962c20, 0 0 0 12px rgba(231,76,60,0); }
    100% { transform: scale(1);    box-shadow: 0 4px 0 #962c20, 0 0 0 0 rgba(231,76,60,0); }
}
