.sbbc-component{--sbbc-accent:#ff851b;--sbbc-modal-bg:#fff;--sbbc-modal-text:#222;position:relative;display:block;width:100%;max-width:100%;min-width:0;font-family:inherit;box-sizing:border-box;}
.sbbc-component *, .sbbc-component *::before, .sbbc-component *::after{box-sizing:border-box;}
.sbbc-component > .sbbc-wrap,
.sbbc-component .sbbc-wrap{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:6px!important;margin:0!important;padding:0!important;}
.sbbc-component > .sbbc-wrap > .sbbc-buy-button,
.sbbc-component .sbbc-buy-button,
button.sbbc-buy-button {display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 14px!important;border:0!important;outline:none!important;box-shadow:none!important;border-radius:4px!important;background:var(--sbbc-buy-now-bg,var(--sbbc-accent))!important;color:#fff!important;font-family:inherit!important;font-size:var(--sbbc-button-font-size,12px)!important;font-weight:700!important;line-height:1!important;text-align:center!important;text-decoration:none!important;cursor:pointer!important;transition:background-color .18s ease,color .18s ease,transform .12s ease,opacity .18s ease,filter .18s ease!important;}
.sbbc-component > .sbbc-wrap > .sbbc-cart-button,
.sbbc-component .sbbc-cart-button,
button.sbbc-cart-button {display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;border:1px solid var(--sbbc-accent)!important;outline:none!important;box-shadow:none!important;border-radius:4px!important;background:#fff!important;color:var(--sbbc-accent)!important;font-family:inherit!important;line-height:1!important;text-decoration:none!important;cursor:pointer!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .12s ease,opacity .18s ease!important;}
.sbbc-component > .sbbc-wrap > .sbbc-buy-button:hover,
.sbbc-component > .sbbc-wrap > .sbbc-buy-button:focus,
.sbbc-component .sbbc-buy-button:hover,
.sbbc-component .sbbc-buy-button:focus,
a:hover .sbbc-component .sbbc-buy-button:hover {background:var(--sbbc-buy-now-bg,var(--sbbc-accent))!important;color:#fff!important;filter:brightness(.92)!important;border:0!important;outline:none!important;box-shadow:none!important;text-decoration:none!important;}
a:hover .sbbc-component .sbbc-buy-button {background:var(--sbbc-buy-now-bg,var(--sbbc-accent))!important;color:#fff!important;text-decoration:none!important;}
.sbbc-component > .sbbc-wrap > .sbbc-cart-button:hover,
.sbbc-component > .sbbc-wrap > .sbbc-cart-button:focus,
.sbbc-component .sbbc-cart-button:hover,
.sbbc-component .sbbc-cart-button:focus,
a:hover .sbbc-component .sbbc-cart-button:hover {background:#fff8f1!important;border-color:var(--sbbc-accent)!important;color:var(--sbbc-accent)!important;outline:none!important;box-shadow:none!important;text-decoration:none!important;}
a:hover .sbbc-component .sbbc-cart-button {background:#fff!important;border-color:var(--sbbc-accent)!important;color:var(--sbbc-accent)!important;text-decoration:none!important;}
.sbbc-component .sbbc-cart-button.sbbc-added,
button.sbbc-cart-button.sbbc-added {background:#fff!important;border-color:var(--sbbc-accent)!important;color:var(--sbbc-accent)!important;}
.sbbc-component .sbbc-cart-button.sbbc-added:hover {background:#fff8f1!important;border-color:var(--sbbc-accent)!important;color:var(--sbbc-accent)!important;}
.sbbc-component > .sbbc-wrap > .sbbc-buy-button:active,.sbbc-component > .sbbc-wrap > .sbbc-cart-button:active{transform:translateY(1px)!important;}
.sbbc-component .sbbc-icon{display:block!important;width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;flex:0 0 19px!important;object-fit:contain;}
.sbbc-component .sbbc-check-svg{display:none!important;}
.sbbc-component .sbbc-cart-button.sbbc-added .sbbc-cart-svg{display:none!important;}
.sbbc-component .sbbc-cart-button.sbbc-added .sbbc-check-svg{display:block!important;}
.sbbc-component .sbbc-spinner{display:none;width:13px;height:13px;border:1.7px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sbbc-spin .6s linear infinite;}
.sbbc-component .sbbc-is-loading .sbbc-spinner{display:block;}
.sbbc-component .sbbc-is-loading .sbbc-buy-label,.sbbc-component .sbbc-is-loading .sbbc-icon{display:none!important;}
.sbbc-editor-notice { padding: 12px; border: 1px dashed #bbb; border-radius: 6px; font-size: 13px; }

/* Completely hide WooCommerce default [View cart] link inserted after buttons */
.sbbc-component .added_to_cart,
.sbbc-wrap .added_to_cart,
.sbbc-component a.added_to_cart,
.sbbc-wrap a.added_to_cart,
a.added_to_cart.wc-forward {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

:root,
.sbbc-modal {
    --sbbc-accent: #ff851b;
    --sbbc-modal-bg: #ffffff;
    --sbbc-modal-text: #1f2937;
    --sbbc-modal-overlay: rgba(0, 0, 0, 0.65);
    --sbbc-swatch-bg: #ffffff;
    --sbbc-swatch-text: #374151;
    --sbbc-swatch-border: #e5e7eb;
    --sbbc-swatch-hover-bg: #fff7ef;
    --sbbc-swatch-selected-bg: #fff3e8;
    --sbbc-swatch-selected-text: #ff851b;
    --sbbc-swatch-font-size: 13px;
    --sbbc-quantity-bg: #f3f4f6;
    --sbbc-quantity-button-color: #ff851b;
    --sbbc-quantity-input-bg: #ffffff;
    --sbbc-add-cart-bg: #1f2937;
    --sbbc-buy-now-bg: #ff851b;
    --sbbc-modal-radius: 16px;
    --sbbc-image-bg: #f9fafb;
}

.sbbc-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
}
.sbbc-modal[hidden] {
    display: none !important;
}
.sbbc-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: var(--sbbc-modal-overlay, rgba(0, 0, 0, 0.65)) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 1 !important;
}
.sbbc-modal-box {
    position: relative !important;
    z-index: 2 !important;
    width: min(880px, calc(100% - 32px)) !important;
    max-height: calc(100vh - 48px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin: auto !important;
    background: #ffffff !important;
    background: var(--sbbc-modal-bg, #ffffff) !important;
    color: #1f2937 !important;
    color: var(--sbbc-modal-text, #1f2937) !important;
    border-radius: var(--sbbc-modal-radius, 16px) !important;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
}
.sbbc-modal-close {
    position: absolute !important;
    right: 14px !important;
    top: 14px !important;
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f3f4f6 !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    font-size: 22px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background-color .15s ease, color .15s ease, transform .15s ease !important;
}
.sbbc-modal-close:hover {
    background: #fee2e2 !important;
    color: #ef4444 !important;
    transform: rotate(90deg) !important;
}
.sbbc-modal-content {
    padding: 28px !important;
    box-sizing: border-box !important;
}
.sbbc-modal-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr) !important;
    gap: 28px !important;
    align-items: start !important;
}
.sbbc-modal-media {
    width: 100% !important;
    min-width: 0 !important;
    background: var(--sbbc-image-bg, #f9fafb) !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    box-sizing: border-box !important;
}
.sbbc-modal-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 480px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}
.sbbc-modal-info {
    min-width: 0 !important;
    padding-top: 2px !important;
}
.sbbc-modal-title {
    margin: 0 40px 10px 0 !important;
    font-size: var(--sbbc-modal-title-size, 22px) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: var(--sbbc-modal-text, #111827) !important;
}
.sbbc-modal-price {
    color: var(--sbbc-accent, #ff851b) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
    line-height: 1.2 !important;
}
.sbbc-modal-sku {
    font-size: 12px !important;
    color: #9ca3af !important;
    margin-bottom: 14px !important;
}
.sbbc-modal-description {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #4b5563 !important;
    margin-bottom: 18px !important;
}
.sbbc-attributes {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
}
.sbbc-attr {
    margin: 0 !important;
}
.sbbc-attr-label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 0 8px !important;
    text-transform: capitalize !important;
}
.sbbc-swatch-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.sbbc-swatch {
    border: 1px solid var(--sbbc-swatch-border, #e5e7eb) !important;
    background: var(--sbbc-swatch-bg, #ffffff) !important;
    color: var(--sbbc-swatch-text, #374151) !important;
    border-radius: 6px !important;
    padding: 7px 14px !important;
    min-height: 38px !important;
    cursor: pointer !important;
    font-size: var(--sbbc-swatch-font-size, 13px) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    transition: all .15s ease !important;
}
.sbbc-swatch:hover {
    border-color: var(--sbbc-accent, #ff851b) !important;
    background: var(--sbbc-swatch-hover-bg, #fff7ef) !important;
    color: var(--sbbc-swatch-selected-text, var(--sbbc-accent, #ff851b)) !important;
}
.sbbc-swatch.is-selected {
    border-color: var(--sbbc-accent, #ff851b) !important;
    background: var(--sbbc-swatch-selected-bg, #fff3e8) !important;
    color: var(--sbbc-swatch-selected-text, var(--sbbc-accent, #ff851b)) !important;
    box-shadow: 0 0 0 1px var(--sbbc-accent, #ff851b) inset !important;
    font-weight: 600 !important;
}
.sbbc-quantity-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
}
.sbbc-quantity {
    display: inline-flex !important;
    width: 120px !important;
    height: 40px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}
.sbbc-quantity button {
    width: 38px !important;
    border: 0 !important;
    background: var(--sbbc-quantity-bg, #f3f4f6) !important;
    color: var(--sbbc-quantity-button-color, var(--sbbc-accent, #ff851b)) !important;
    cursor: pointer !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color .15s ease !important;
}
.sbbc-quantity button:hover {
    background: #e5e7eb !important;
}
.sbbc-quantity input {
    width: 44px !important;
    min-width: 0 !important;
    border: 0 !important;
    background: var(--sbbc-quantity-input-bg, #ffffff) !important;
    color: #111827 !important;
    text-align: center !important;
    outline: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}
.sbbc-quantity input::-webkit-inner-spin-button,
.sbbc-quantity input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.sbbc-modal-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 18px !important;
}
.sbbc-modal-actions button {
    height: 46px !important;
    border: 0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    transition: all .18s ease !important;
}
.sbbc-modal-actions .sbbc-modal-cart {
    background: var(--sbbc-add-cart-bg, #1f2937) !important;
    color: #ffffff !important;
}
.sbbc-modal-actions .sbbc-modal-cart:hover {
    background: #111827 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}
.sbbc-modal-actions .sbbc-modal-buy {
    background: var(--sbbc-buy-now-bg, var(--sbbc-accent, #ff851b)) !important;
    color: #ffffff !important;
}
.sbbc-modal-actions .sbbc-modal-buy:hover {
    filter: brightness(0.92) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(255, 133, 27, 0.35) !important;
}
.sbbc-modal-actions button:active {
    transform: translateY(1px) !important;
}
.sbbc-modal-actions button:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
.sbbc-error {
    color: #b42318 !important;
    font-size: 13px !important;
    margin: 8px 0 !important;
}
.sbbc-success {
    color: #16803c !important;
    font-size: 13px !important;
    margin: 8px 0 !important;
}
.sbbc-loading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 20px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
}
@keyframes sbbc-spin { to { transform: rotate(360deg); } }

@media (max-width: 768px) {
    .sbbc-modal-box {
        width: calc(100% - 24px) !important;
        max-height: calc(100vh - 24px) !important;
        border-radius: 14px !important;
    }
    .sbbc-modal-content {
        padding: 20px !important;
    }
    .sbbc-modal-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .sbbc-modal-image {
        max-height: 300px !important;
    }
    .sbbc-modal-title {
        font-size: 20px !important;
        margin-right: 32px !important;
    }
}
@media (max-width: 480px) {
    .sbbc-modal-actions {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}


body.sbbc-modal-open{overflow:hidden}

/* Smart Buy Cart Buttons: keep the two controls side-by-side inside WooCommerce cards. */
.sbbc-component .sbbc-wrap > .sbbc-buy-button,
.sbbc-component .sbbc-wrap > .sbbc-cart-button {
    grid-row: 1!important;
    align-self:stretch!important;
}
.sbbc-component .sbbc-wrap > .sbbc-buy-button { grid-column: 1!important; }
.sbbc-component .sbbc-wrap > .sbbc-cart-button { grid-column: 2!important; }

@media (max-width: 320px) {
    .sbbc-wrap{grid-template-columns:minmax(0,1fr) 40px!important;gap:5px!important}
    .sbbc-cart-button{width:40px!important;min-width:40px!important}
    .sbbc-buy-button{padding-left:8px!important;padding-right:8px!important}
}

@media(max-width:480px){
  .sbbc-component > .sbbc-wrap{gap:5px!important;}
  .sbbc-component > .sbbc-wrap > .sbbc-buy-button{padding-left:10px!important;padding-right:10px!important;}
  .sbbc-component > .sbbc-wrap > .sbbc-cart-button{flex-basis:40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;}
}
