/**
 * DOPESNAG Fourthwall Bridge - Frontend Styles
 */

.dfb-gallery-wrapper {
	box-sizing: border-box;
}

.dfb-gallery-title {
	margin-bottom: 1rem;
}

.dfb-gallery-description {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

/* Alignments */
.dfb-align-left {
	text-align: left;
}

.dfb-align-center {
	text-align: center;
}

.dfb-align-right {
	text-align: right;
}

/* List Layout */
.dfb-list-layout {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dfb-list-item-link {
	display: flex;
	gap: 1rem;
	text-decoration: none;
	color: inherit;
	align-items: center;
	transition: opacity 0.2s ease;
}

.dfb-list-item-link:hover,
.dfb-list-item-link:focus {
	text-decoration: none;
}

.dfb-list-figure {
	flex-shrink: 0;
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
}

.dfb-list-img {
	width: 100%;
	display: block;
}

.dfb-list-content {
	display: flex;
	flex-direction: column;
}

/* Grid Layout */
.dfb-grid-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.dfb-grid-layout.dfb-cols-1 {
	flex-direction: column;
}

.dfb-grid-item {
	text-align: center;
	box-sizing: border-box;
}

.dfb-grid-layout.dfb-cols-1 .dfb-grid-item {
	flex: 0 0 100%;
	width: 100%;
}

.dfb-grid-layout.dfb-cols-2 .dfb-grid-item {
	flex: 1 1 calc(50% - 20px);
	min-width: 150px;
}

.dfb-grid-layout.dfb-cols-3 .dfb-grid-item {
	flex: 1 1 calc(33.333% - 20px);
	min-width: 150px;
}

.dfb-grid-layout.dfb-cols-4 .dfb-grid-item {
	flex: 1 1 calc(25% - 20px);
	min-width: 150px;
}

.dfb-grid-item-link {
	text-decoration: none;
	color: inherit;
	display: block;
	transition: opacity 0.2s ease;
}

.dfb-grid-item-link:hover,
.dfb-grid-item-link:focus {
	text-decoration: none;
}

.dfb-grid-item-link.dfb-horizontal-split {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: center;
}

.dfb-grid-figure {
	margin: 0 auto 10px auto;
	overflow: hidden;
	border-radius: 8px;
}

.dfb-grid-img {
	width: 100%;
	display: block;
	transition: transform 0.3s ease;
}

.dfb-grid-content {
	box-sizing: border-box;
}

.dfb-horizontal-split .dfb-grid-content {
	flex: 2 1 200px;
	text-align: left;
}

/* Titles and Typography */
.dfb-product-title {
	margin: 0 0 10px 0;
	transition: color 0.2s ease, text-decoration 0.2s ease;
}

.dfb-list-content .dfb-product-title {
	margin: 0 0 0.5rem 0;
}

/* Weight classes */
.dfb-weight-normal {
	font-weight: 400 !important;
}

.dfb-weight-bold {
	font-weight: 700 !important;
}

/* Hover effects for title inside links */
.dfb-product-link:hover .dfb-product-title,
.dfb-product-link:focus .dfb-product-title {
	color: var(--wp--preset--color--primary, #0073aa);
	text-decoration: underline;
}

/* Button */
.dfb-buy-button {
	display: inline-block;
}

.dfb-list-content .dfb-buy-button {
	padding: 5px 15px;
	font-size: 0.875rem;
}
