.frbl-product-categories-grid {
    display: grid;
    grid-template-columns: repeat(var(--frbl-grid-columns, 2), 1fr); 
    gap: 30px; 
    list-style: none;
    margin: 0;
    padding: 0;
}

.frbl-product-categories-grid .frbl-category-link {
    display: block;

    background-color: var(--frbl-bg-color, rgba(255, 255, 255, 0.5));
    border: var(--frbl-border-width, 1px) solid var(--frbl-border-color, #dddddd);
    color: var(--frbl-text-color, inherit);

    padding-top: 30px;
    padding-left: 30px;
	 padding-right: 30px;

    border-radius: var(--frbl-border-radius, 20px);
    
    text-decoration: none;
    text-align: center;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.frbl-product-categories-grid .frbl-category-link:hover {
    background-color: var(--frbl-hover-bg-color, rgba(255, 255, 255, 0.7));
    border-color: var(--frbl-hover-border-color, #555555);
}

.frbl-product-categories-grid .frbl-category-link .frbl-category-name {
    color: var(--frbl-text-color, inherit);
    transition: color 0.3s ease;
}

.frbl-product-categories-grid .frbl-category-link:hover .frbl-category-name {
    color: var(--frbl-hover-text-color, inherit);
}

.frbl-product-categories-grid .frbl-category-image-wrap {
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: calc(var(--frbl-border-radius, 20px) / 2); 
}

.frbl-product-categories-grid .frbl-category-image {
    width: 100%;
    height: auto;
    display: block;
}

.frbl-product-categories-grid .frbl-category-button {
    display: block;
    margin: 16px 0;
    padding: var(--frbl-btn-padding-v, 10px) var(--frbl-btn-padding-h, 20px);
    background-color: var(--frbl-btn-bg, transparent);
    color: var(--frbl-btn-color, currentColor);
    border: var(--frbl-btn-border-width, 2px) solid var(--frbl-btn-border-color, currentColor);
    border-radius: var(--frbl-btn-border-radius, 4px);
    font-size: var(--frbl-btn-font-size, 14px);
    font-weight: 600;
    text-align: center;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.frbl-product-categories-grid .frbl-category-link:hover .frbl-category-button {
    background-color: var(--frbl-btn-hover-bg, transparent);
    color: var(--frbl-btn-hover-color, currentColor);
    border-color: var(--frbl-btn-hover-border-color, currentColor);
}

html :where([style*=border-width]) {
    border-style: none;
}
