/* Shared utilities — loaded on both front-end and in the block editor */

.editor-styles-wrapper { font-family: 'Source Sans 3', sans-serif; }

.no-margin { margin: 0 !important; }

.m-75 { margin: 0.75rem !important; }

.m1 { margin: 1rem !important; }

.p1 { padding: 1rem !important; }

.p0-5 { padding: 0.5rem !important; }

.rounded { border-radius: 1rem !important; }

.border-1 { border: 1px solid #ccc !important; }

.border-3 { border: 3px solid #ccc !important; }

.border-primary { border-color: var(--color-primary, var(--pearls)) !important; }

.bottom-left { position: absolute; left: 0; bottom: 0; }

.flex { display: flex; }

.flex-grow { flex-grow: 1; }

.flex-stretch-self { align-self: stretch; }

.justify-center { justify-content: center; }

.height-100 { height: 100%; }

.width-100 { width: 100%; }

.no-descoration { text-decoration: none !important; }

/* Fix for wordpress groups having a nested block */
.flex-stretch-self > .wp-block-group { align-self: stretch; }

.justify-center > .wp-block-group__inner-container { justify-content: center; }

li.wc-block-product:has(.flex-stretch-self) { align-self: stretch; }

li.wc-block-product:has(.flex-stretch-self) .flex-stretch-self { height: 100%; justify-content: unset; }

.nav-panel-widget:has(.height-100) { height: 100%; }

/* ── Product Grid ── */
.pearls-products-grid {
    --pearls-products-grid-gap: 0.5rem;
    padding: 1rem;
    border-radius: 1rem;
    width: 100%;
    max-width: 348px;
}

.pearls-products-grid header,
.pearls-products-grid .wp-block-woocommerce-product-collection {
    width: 100%;
}

.pearls-products-grid ul.wc-block-product-template {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--pearls-products-grid-gap);
    margin: 0;
}

.pearls-products-grid ul.wc-block-product-template > li {
    width: 100% !important;
    max-width: 150px;
}

.pearls-products-grid ul.has-white-background-color {
    background-color: unset !important;
}

.pearls-products-grid ul.has-white-background-color li {
    background-color: var(--wp--preset--color--white) !important;
}

.pearls-products-grid ul.wc-block-product-template li.wc-block-product {
    box-sizing: border-box;
    padding: 0.5rem;
    border-radius: 0.5rem;
}

.wp-block-group__inner-container:has(.pearls-products-grid) {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

.pearls-tabbed-product-scroller .wp-block-tabs-block-tab .pearls-product-carousel {
    position: relative;
}

.pearls-tabbed-product-scroller .wp-block-tabs-block-tab .pearls-product-carousel .wc-block-next-previous-buttons {
    position: absolute;
    top: 50%;
    left: .5rem;
    right: .5rem;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    z-index: 1;
}

@media screen and (max-width: 600px) {

    .pearls-tabbed-product-scroller .wp-block-tabs-block-tab .pearls-product-carousel .wc-block-next-previous-buttons {
        display: none;
    }

}

.pearls-tabbed-product-scroller .wp-block-tabs-block-tab .pearls-product-carousel .wc-block-next-previous-buttons > button {
    background: var(--color-primary);
    color: #fff;
    height: 5rem;
    width: 2rem;
    border-radius: 100vw;
}

.pearls-product-carousel ul {
	margin: 0;
}

.wp-block-accordion-heading { padding: none; }

.nav-panel__body .wp-block-accordion * { margin: 0; padding: 0;}

.nav-panel__body .wp-block-accordion .wp-block-accordion-panel { margin-left: 1rem; }

/* fix storefront-child page col-full width */
/*.home > .col-full:has(#post-44) {
	max-width: 75vw;
}

.home > .col-full #post-44 > .col-full {
	max-width: 100%;
}*/