/* ──────────────────────────────────────────────
   SabbiraTech Gutenberg Blocks
   Footer About/Contact + Product Filter Sidebar
   ────────────────────────────────────────────── */

.sabbiratech-block-preview {
    pointer-events: none;
}

/* ════ Footer: About ════ */
.sabbiratech-footer-about {
    font-family: inherit;
    line-height: 1.7;
}

.sabbiratech-footer-about__logo {
    margin-bottom: 32px;
}

.sabbiratech-footer-about__logo img {
    max-width: 100%;
    height: auto;
    display: block;
}

.sabbiratech-footer-about__desc {
    font-size: 0.875rem;
    line-height: 1.7;
    margin: 0 0 32px 0;
}

.sabbiratech-footer-about__social {
    display: flex;
    gap: 12px;
}

.sabbiratech-footer-about__social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid currentColor;
    text-decoration: none;
    transition: background 0.3s ease, border-color 0.3s ease;
}

.sabbiratech-footer-about__social-icon:hover {
    background: #0a2642;
    border-color: #0a2642;
    color: #fff;
}

.sabbiratech-footer-about--centered {
    text-align: center;
}

.sabbiratech-footer-about--centered .sabbiratech-footer-about__logo img {
    margin-left: auto;
    margin-right: auto;
}

.sabbiratech-footer-about--centered .sabbiratech-footer-about__social {
    justify-content: center;
}

.sabbiratech-footer-about--compact .sabbiratech-footer-about__logo {
    margin-bottom: 16px;
}

.sabbiratech-footer-about--compact .sabbiratech-footer-about__desc {
    margin-bottom: 16px;
}

.sabbiratech-footer-about--compact .sabbiratech-footer-about__social-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
}

.sabbiratech-footer-about--compact .sabbiratech-footer-about__social {
    gap: 8px;
}

/* ════ Footer: Contact ════ */
.sabbiratech-footer-contact {
    font-family: inherit;
}

.sabbiratech-footer-contact__list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
    line-height: 1.6;
}

.sabbiratech-footer-contact__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}

.sabbiratech-footer-contact__item:last-child {
    margin-bottom: 0;
}

.sabbiratech-footer-contact__item>i {
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.sabbiratech-footer-contact__item a {
    text-decoration: none;
    transition: color 0.2s ease;
}

.sabbiratech-footer-contact--inline .sabbiratech-footer-contact__list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}

.sabbiratech-footer-contact--inline .sabbiratech-footer-contact__item {
    align-items: center;
    margin-bottom: 0;
}

.sabbiratech-footer-contact--inline .sabbiratech-footer-contact__item>i {
    margin-top: 0;
}

.sabbiratech-footer-contact--compact .sabbiratech-footer-contact__list {
    font-size: 0.8125rem;
}

.sabbiratech-footer-contact--compact .sabbiratech-footer-contact__item {
    gap: 8px;
    margin-bottom: 8px;
}

/* ════════════════════════════════════════════════
   PRODUCT FILTER SIDEBAR
   Selectors are prefixed with the wrapper class and
   key properties use !important so they always win
   over Astra's theme CSS (frontend.min.css).
   ════════════════════════════════════════════════ */

.sabbiratech-product-filter {
    --sabbiratech-filter-category-gap: 4px;
    --sabbiratech-filter-brand-gap: 4px;
    --sabbiratech-filter-attribute-gap: 4px;
    --sabbiratech-filter-group-gap: 24px;
    --sabbiratech-filter-section-gap: 32px;
    --sabbiratech-filter-title-margin: 16px;
    --sabbiratech-filter-active-bg: #0a2642;
    --sabbiratech-filter-active-color: #ffffff;
    --sabbiratech-filter-hover-bg: #e2e8f0;
    --sabbiratech-filter-apply-bg: #0a2642;
    --sabbiratech-filter-apply-color: #ffffff;
}

/* Section spacing. */
.sabbiratech-product-filter .sabbiratech-product-filter__section {
    margin: 0 0 var(--sabbiratech-filter-section-gap, 32px) 0 !important;
}

.sabbiratech-product-filter .sabbiratech-product-filter__section:last-child {
    margin-bottom: 0 !important;
}

/* Titles inherit block text color and use a controlled size/margin. */
.sabbiratech-product-filter .sabbiratech-sidebar__title,
.sabbiratech-product-filter .sabbiratech-sidebar-filters__group .sabbiratech-sidebar-filters__label {
    color: inherit !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    text-transform: none !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar__title {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    margin: 0 0 var(--sabbiratech-filter-title-margin, 16px) 0 !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__group {
    margin: 0 0 var(--sabbiratech-filter-group-gap, 24px) 0 !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__group:last-child {
    margin-bottom: 0 !important;
}

#secondary li {
    line-height: 1em !important;
    margin-bottom: 0 !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__label {
    display: block !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 0 12px 0 !important;
}

/* Shared list reset (beats Astra `ul{list-style:disc}` and `ol,ul{margin...}`). */
.sabbiratech-product-filter ul.sabbiratech-sidebar-categories__list,
.sabbiratech-product-filter ul.sabbiratech-sidebar-categories__children,
.sabbiratech-product-filter ul.sabbiratech-sidebar-brands__list,
.sabbiratech-product-filter ul.sabbiratech-sidebar-attributes__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.sabbiratech-product-filter ul.sabbiratech-sidebar-categories__list,
.sabbiratech-product-filter ul.sabbiratech-sidebar-categories__children {
    gap: var(--sabbiratech-filter-category-gap, 4px) !important;
}

.sabbiratech-product-filter ul.sabbiratech-sidebar-brands__list {
    gap: var(--sabbiratech-filter-brand-gap, 4px) !important;
}

.sabbiratech-product-filter ul.sabbiratech-sidebar-attributes__list {
    gap: var(--sabbiratech-filter-attribute-gap, 4px) !important;
}

.sabbiratech-product-filter ul.sabbiratech-sidebar-categories__children {
    padding-left: 16px !important;
}

/* Links: inherit color from wrapper, remove underline, control decoration. */
.sabbiratech-product-filter .sabbiratech-sidebar-categories__link,
.sabbiratech-product-filter .sabbiratech-sidebar-brands__link,
.sabbiratech-product-filter .sabbiratech-sidebar-attributes__link,
.sabbiratech-product-filter .sabbiratech-sidebar-filters__option {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    border: none !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-categories__link,
.sabbiratech-product-filter .sabbiratech-sidebar-brands__link,
.sabbiratech-product-filter .sabbiratech-sidebar-attributes__link {
    gap: 12px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: inherit !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-categories__link:hover,
.sabbiratech-product-filter .sabbiratech-sidebar-brands__link:hover,
.sabbiratech-product-filter .sabbiratech-sidebar-attributes__link:hover {
    background: var(--sabbiratech-filter-hover-bg, #e2e8f0) !important;
    color: inherit !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-categories__label,
.sabbiratech-product-filter .sabbiratech-sidebar-brands__label,
.sabbiratech-product-filter .sabbiratech-sidebar-attributes__label,
.sabbiratech-product-filter .sabbiratech-sidebar-filters__name {
    flex-grow: 1 !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-categories__count,
.sabbiratech-product-filter .sabbiratech-sidebar-brands__count,
.sabbiratech-product-filter .sabbiratech-sidebar-attributes__count,
.sabbiratech-product-filter .sabbiratech-sidebar-filters__count {
    font-size: 0.75rem !important;
    opacity: 0.6 !important;
}

/* Active states. */
.sabbiratech-product-filter .sabbiratech-sidebar-categories__item.is-active>.sabbiratech-sidebar-categories__link,
.sabbiratech-product-filter .sabbiratech-sidebar-brands__item.is-active .sabbiratech-sidebar-brands__link,
.sabbiratech-product-filter .sabbiratech-sidebar-attributes__item.is-active .sabbiratech-sidebar-attributes__link {
    background: var(--sabbiratech-filter-active-bg, #0a2642) !important;
    color: var(--sabbiratech-filter-active-color, #ffffff) !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__option.is-active .sabbiratech-sidebar-filters__name {
    font-weight: 600 !important;
}

/* Availability / stock status options. */
.sabbiratech-product-filter .sabbiratech-sidebar-filters__option {
    cursor: pointer !important;
    margin: 0 0 8px 0 !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    color: inherit !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__option:last-child {
    margin-bottom: 0 !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__checkbox {
    accent-color: #0a2642 !important;
    pointer-events: none !important;
    margin: 0 !important;
}

/* Price range slider — override Astra's global range styles. */
.sabbiratech-product-filter .sabbiratech-sidebar-filters__range {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    margin: 12px 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 9999px !important;
    background: #e2e8f0 !important;
    accent-color: #0a2642 !important;
    cursor: pointer !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__range::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: none !important;
    border-radius: 50% !important;
    background: #0a2642 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__range::-moz-range-thumb {
    width: 18px !important;
    height: 18px !important;
    border: none !important;
    border-radius: 50% !important;
    background: #0a2642 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__range-values {
    display: flex !important;
    justify-content: space-between !important;
    margin: 8px 0 0 0 !important;
    font-size: 0.75rem !important;
    color: #64748b !important;
}

/* Apply button — override Astra button styles. */
.sabbiratech-product-filter .sabbiratech-sidebar-filters__apply {
    display: inline-block !important;
    margin-top: 12px !important;
    padding: 8px 20px !important;
    border: none !important;
    border-radius: 8px !important;
    background: var(--sabbiratech-filter-apply-bg, #0a2642) !important;
    color: var(--sabbiratech-filter-apply-color, #ffffff) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.sabbiratech-product-filter .sabbiratech-sidebar-filters__apply:hover {
    opacity: 0.85 !important;
    color: var(--sabbiratech-filter-apply-color, #ffffff) !important;
    background: var(--sabbiratech-filter-apply-bg, #0a2642) !important;
}

/* Editor preview. */
.sabbiratech-product-filter-editor-preview {
    padding: 12px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.sabbiratech-product-filter-editor-preview h4 {
    color: #0a2642 !important;
    font-size: 1rem !important;
    margin: 0 0 8px !important;
}

.sabbiratech-product-filter-editor-preview p {
    margin: 2px 0 !important;
    font-size: 0.8125rem !important;
    color: #666 !important;
}