/* DBN Boutique — follows the DBN design tokens (colours, borders, radius). */
.dbn-boutique,
.dbn-boutique-page {
	max-width: 1180px;
	margin: 0 auto;
	padding: 1.5rem 1rem 3rem;
}

.dbn-boutique-hero {
	text-align: center;
	margin-bottom: 2rem;
}

.dbn-boutique-hero-subtitle {
	color: var(--dbn-muted, #657384);
	font-size: 1.05rem;
}

.dbn-boutique-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, 1fr);
}

.dbn-boutique-cols-1 { grid-template-columns: 1fr; }
.dbn-boutique-cols-2 { grid-template-columns: repeat(2, 1fr); }
.dbn-boutique-cols-4 { grid-template-columns: repeat(4, 1fr); }

.dbn-boutique-card {
	background: var(--dbn-surface, #ffffff);
	border: 1px solid var(--dbn-line, #dfe7ee);
	border-radius: 10px;
	overflow: hidden;
	transition: border-color .15s ease, transform .15s ease;
}

.dbn-boutique-card:hover {
	border-color: var(--dbn-accent, #669bbc);
	transform: translateY(-2px);
}

.dbn-boutique-card-link {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 0.75rem;
	color: var(--dbn-text, #102433);
	text-decoration: none;
}

.dbn-boutique-card-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 6px;
}

.dbn-boutique-card-title { font-weight: 600; }

.dbn-boutique-card-price {
	color: var(--dbn-primary, #003049);
	font-weight: 700;
}

.dbn-boutique-banner {
	background: linear-gradient(135deg, var(--dbn-primary, #003049), #002233);
	color: #fff;
	border-radius: 12px;
	padding: 1.5rem 1.75rem;
	margin: 1.5rem 0;
}

.dbn-boutique-banner-inner { max-width: 720px; }

.dbn-boutique-banner-cta {
	background: #fff;
	color: var(--dbn-primary, #003049);
	margin-top: 0.75rem;
	border: none;
}

.dbn-boutique-faq,
.dbn-boutique-legal {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	background: var(--dbn-surface, #ffffff);
	border: 1px solid var(--dbn-line, #dfe7ee);
	border-radius: 10px;
}

.dbn-boutique-faq-item {
	border-bottom: 1px solid var(--dbn-line-soft, #edf2f6);
	padding: 0.6rem 0;
}

.dbn-boutique-faq-item summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--dbn-text, #102433);
}

.dbn-boutique-faq-answer {
	margin-top: 0.5rem;
	color: var(--dbn-muted, #657384);
	line-height: 1.5;
}

.dbn-boutique-empty {
	color: var(--dbn-muted, #657384);
}

.dbn-boutique-tracking-note {
	color: var(--dbn-muted, #657384);
	font-size: 0.9rem;
}

@media (max-width: 820px) {
	.dbn-boutique-grid,
	.dbn-boutique-cols-4,
	.dbn-boutique-cols-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 540px) {
	.dbn-boutique-grid,
	.dbn-boutique-cols-4,
	.dbn-boutique-cols-3,
	.dbn-boutique-cols-2 { grid-template-columns: 1fr; }
}