/* Cosmetics dossier layout — Ökonoova-aligned tokens (scoped .cosmetics-dossier-product). */

.cosmetics-dossier-product {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	color: var(--cosmetics-dossier-secondary, #4a413a);
}

/* Recommended by strip */
.cosmetics-dossier-recommended-by {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--cosmetics-dossier-border, #eee);
}

.cosmetics-dossier-influencer-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
}

.cosmetics-dossier-recommended-by-text {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.cosmetics-dossier-recommended-label {
	font-weight: 600;
	font-size: 1rem;
}

.cosmetics-dossier-followers,
.cosmetics-dossier-handle {
	font-size: 0.875rem;
	color: var(--cosmetics-dossier-secondary, #666);
}

.cosmetics-dossier-verified {
	color: var(--cosmetics-dossier-primary, #465d52);
}

.cosmetics-dossier-social {
	margin-top: 0.25rem;
}

.cosmetics-dossier-social a {
	margin-right: 0.75rem;
	font-size: 0.8125rem;
}

/* Hero */
.cosmetics-dossier-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-bottom: 2.5rem;
}

@media (max-width: 768px) {
	.cosmetics-dossier-hero {
		grid-template-columns: 1fr;
	}
}

.cosmetics-dossier-gallery {
	position: relative;
}

/* Keep WooCommerce gallery contained inside dossier layout, regardless of theme styles */
.cosmetics-dossier-product .cosmetics-dossier-gallery,
.cosmetics-dossier-product .cosmetics-dossier-gallery .woocommerce-product-gallery,
.cosmetics-dossier-product .cosmetics-dossier-gallery .woocommerce-product-gallery__wrapper {
	max-width: 100%;
	width: 100%;
}

.cosmetics-dossier-product .cosmetics-dossier-gallery .woocommerce-product-gallery__image,
.cosmetics-dossier-product .cosmetics-dossier-gallery .woocommerce-product-gallery__image a {
	display: block;
}

.cosmetics-dossier-product .cosmetics-dossier-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 480px;
	object-fit: contain;
}

/* Clip any overflowing slider content inside the hero gallery (e.g. Porto) */
.cosmetics-dossier-product .cosmetics-dossier-gallery {
	overflow: hidden;
}

.cosmetics-dossier-hero-summary .product_title {
	font-family: var(--cosmetics-dossier-font-display, inherit);
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	line-height: 1.25;
	color: var(--cosmetics-dossier-secondary, #4a413a);
}

.cosmetics-dossier-brand {
	font-family: var(--cosmetics-dossier-font-body, inherit);
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--cosmetics-dossier-primary, #465d52);
	margin-bottom: 0.25rem;
}

.cosmetics-dossier-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.cosmetics-dossier-label-pill {
	display: inline-block;
	padding: 0.3rem 0.85rem;
	background: transparent;
	border: 1px solid var(--cosmetics-dossier-accent, #4A413A);
	color: var(--cosmetics-dossier-accent, #4A413A);
	border-radius: var(--cosm-pill-radius, 9999px);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

/* Hero certificates (when enabled via settings) */
.cosmetics-dossier-hero-certificates {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.cosmetics-dossier-hero-cert-pill {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	border-radius: var(--cosm-pill-radius, 9999px);
	background: transparent;
	border: 1px solid var(--cosmetics-dossier-border, #E2DDDA);
	font-size: 0.75rem;
	color: var(--cosmetics-dossier-secondary, #4A413A);
}

/* Section titles */
.cosmetics-dossier-section-title {
	font-family: var(--cosmetics-dossier-font-display, inherit);
	font-size: 0.875rem;
	font-weight: 600;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--cosmetics-dossier-accent, #4A413A);
}

/* Certificates */
.cosmetics-dossier-certificates {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 2rem;
	align-items: center;
}

.cosmetics-dossier-certificate {
	cursor: pointer;
	position: relative;
	opacity: 0.85;
	transition: opacity 0.15s;
}

.cosmetics-dossier-certificate:hover,
.cosmetics-dossier-certificate:focus {
	opacity: 1;
	outline: 2px solid var(--cosmetics-dossier-primary, #465d52);
	outline-offset: 3px;
	border-radius: var(--cosmetics-dossier-radius-sm, 4px);
}

.cosmetics-dossier-cert-logo {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.cosmetics-dossier-cert-placeholder {
	width: 56px;
	height: 56px;
	background: var(--cosmetics-dossier-block-bg, #f9f9f9);
	border: 1px solid var(--cosmetics-dossier-border, #eee);
	border-radius: var(--cosmetics-dossier-radius-md, 6px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--cosmetics-dossier-secondary, #666);
	letter-spacing: 0.05em;
}

#cosmetics-dossier-cert-popup {
	position: absolute;
	z-index: 9999;
	background: #fff;
	border: 1px solid var(--cosmetics-dossier-border, #eee);
	border-radius: 8px;
	padding: 1rem;
	max-width: 420px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	pointer-events: none;
}

@media (max-width: 600px) {
	#cosmetics-dossier-cert-popup {
		max-width: 90vw;
	}
}

#cosmetics-dossier-cert-popup.is-interactive {
	pointer-events: auto;
}

/* Recommendation block */
.cosmetics-dossier-recommendation {
	margin-bottom: 2.5rem;
}

.cosmetics-dossier-recommendation-block {
	background: var(--cosmetics-dossier-block-bg, var(--cosmetics-dossier-surface-fog, #f4f4f4));
	padding: 1.5rem;
	border-radius: var(--cosmetics-dossier-radius-md, 8px);
	border-left: 4px solid var(--cosmetics-dossier-accent, #333);
	box-shadow: var(--cosmetics-dossier-shadow-nav, 0 2px 12px rgba(0, 0, 0, 0.06));
}

.cosmetics-dossier-recommendation-block .cosmetics-dossier-influencer-avatar {
	width: 48px;
	height: 48px;
	float: left;
	margin-right: 1rem;
	margin-bottom: 0.5rem;
}

.cosmetics-dossier-quote {
	margin: 0 0 1rem;
	font-style: italic;
	line-height: 1.6;
}

.cosmetics-dossier-signature {
	font-size: 0.875rem;
	color: var(--cosmetics-dossier-secondary, #666);
	margin: 0;
}

/* Ingredients */
.cosmetics-dossier-ingredients {
	margin-bottom: 2.5rem;
}

.cosmetics-dossier-key-ingredients {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-bottom: 1rem;
}

@media (max-width: 600px) {
	.cosmetics-dossier-key-ingredients {
		grid-template-columns: 1fr;
	}
}

.cosmetics-dossier-key-ingredient-card {
	padding: 1rem;
	background: var(--cosmetics-dossier-block-bg, #f5f5f5);
	border-radius: 6px;
}

.cosmetics-dossier-key-ingredient-card strong {
	display: block;
	margin-bottom: 0.25rem;
}

.cosmetics-dossier-ingredient-header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.25rem;
}

.cosmetics-dossier-ingredient-header strong {
	margin-bottom: 0;
}

.cosmetics-dossier-penalty-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.cosmetics-dossier-ingredient-benefit {
	display: block;
	font-size: 0.875rem;
	color: var(--cosmetics-dossier-secondary, #666);
}

.cosmetics-dossier-full-ingredients summary {
	cursor: pointer;
	font-size: 0.9375rem;
	color: #333;
}

.cosmetics-dossier-full-ingredients-text {
	margin-top: 0.75rem;
	font-family: var(--cosmetics-dossier-font-body, inherit);
	font-size: 0.875rem;
	line-height: 1.6;
	color: inherit;
}

/* Review cards */
.cosmetics-dossier-testing {
	margin-bottom: 2.5rem;
}

.cosmetics-dossier-review-cards {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.cosmetics-dossier-review-card {
	padding: 1.5rem;
	border: 1px solid var(--cosmetics-dossier-border, #eee);
	border-radius: var(--cosmetics-dossier-radius-md, 8px);
	background: #fff;
	box-shadow: var(--cosmetics-dossier-shadow-nav, 0 2px 12px rgba(0, 0, 0, 0.06));
}

.cosmetics-dossier-review-card--private {
	border-style: dashed;
	border-color: var(--cosmetics-dossier-secondary, #666);
}

.cosmetics-dossier-review-private-badge {
	margin: 0 0 0.65rem;
}

.cosmetics-dossier-review-private-badge span {
	display: inline-block;
	padding: 0.2em 0.55em;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 4px;
	background: var(--cosmetics-dossier-label-pill-bg, #f0f0f0);
	color: var(--cosmetics-dossier-secondary, #555);
}

.cosmetics-dossier-review-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.cosmetics-dossier-review-header .cosmetics-dossier-influencer-avatar {
	width: 40px;
	height: 40px;
}

.cosmetics-dossier-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0 0 0.5rem;
	font-weight: 600;
}

.cosmetics-dossier-rating-stars {
	display: inline-flex;
	align-items: center;
	gap: 0.08em;
	line-height: 1;
	color: var(--cosmetics-dossier-primary, #465d52);
}

.cosmetics-dossier-star--empty {
	color: #ccc;
}

.cosmetics-dossier-star--half {
	position: relative;
	display: inline-block;
	line-height: 1;
}

.cosmetics-dossier-star--half .cosmetics-dossier-star-half-inner {
	display: inline-block;
	width: 50%;
	overflow: hidden;
	vertical-align: top;
}

.cosmetics-dossier-rating-value {
	font-weight: 600;
	color: var(--cosmetics-dossier-accent, #333);
}

.cosmetics-dossier-skin-type {
	font-size: 0.875rem;
	color: var(--cosmetics-dossier-secondary, #666);
	margin: 0 0 0.75rem;
}

.cosmetics-dossier-metrics {
	display: grid;
	grid-template-columns: auto minmax(60px, 1fr) auto;
	align-items: center;
	column-gap: 0.5rem;
	row-gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
}

.cosmetics-dossier-metric {
	display: contents;
}

.cosmetics-dossier-metric-label {
	color: var(--cosmetics-dossier-secondary, #555);
}

.cosmetics-dossier-progress {
	width: 100%;
	min-width: 60px;
	height: 8px;
	background: var(--cosmetics-dossier-progress-bg, #eee);
	border-radius: 4px;
	overflow: hidden;
}

.cosmetics-dossier-progress span {
	display: block;
	height: 100%;
	background: var(--cosmetics-dossier-primary, #465d52);
	border-radius: 4px;
}

.cosmetics-dossier-metric-value {
	font-weight: 600;
	min-width: 2.5rem;
}

.cosmetics-dossier-summary {
	margin: 0 0 0.5rem;
	line-height: 1.5;
}

.cosmetics-dossier-feedback summary {
	cursor: pointer;
	font-size: 0.875rem;
	color: #333;
}

.cosmetics-dossier-feedback-text {
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--cosmetics-dossier-border, #eee);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.cosmetics-dossier-date {
	font-size: 0.8125rem;
	color: #888;
	margin: 0.75rem 0 0;
}

/* Where to Buy */
.cosmetics-dossier-where-to-buy {
	margin-bottom: 2rem;
	padding: 1.5rem;
	background: var(--cosmetics-dossier-block-bg, #f9f9f9);
	border-radius: 8px;
}

.cosmetics-dossier-buy-block {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.cosmetics-dossier-buy-block .cosmetics-dossier-price {
	font-size: 1.25rem;
}

.cosmetics-dossier-primary-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.cosmetics-dossier-shop-now {
	display: inline-flex;
	align-items: center;
	padding: 0.6rem 1.5rem;
	background: var(--cosmetics-dossier-cta-bg, #465D52);
	color: var(--cosmetics-dossier-cta-text, #fff) !important;
	border-radius: var(--cosmetics-dossier-radius-sm, 4px);
	text-decoration: none;
	font-family: var(--cosmetics-dossier-font-body, inherit);
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.4;
	white-space: nowrap;
}

.cosmetics-dossier-shop-now:hover {
	background: var(--cosmetics-dossier-primary-hover, #3a4f46);
	color: #fff;
}

.cosmetics-dossier-available-at {
	font-size: 0.875rem;
	color: var(--cosmetics-dossier-secondary, #666);
	margin: 0.5rem 0 0.25rem;
}

.cosmetics-dossier-retailers {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.cosmetics-dossier-retailers a {
	text-decoration: none;
	font-size: 0.9375rem;
}

/* Alternatives section */
.cosmetics-dossier-alternatives {
	margin-bottom: 2.5rem;
}

.cosmetics-dossier-alternatives-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

@media (max-width: 600px) {
	.cosmetics-dossier-alternatives-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.cosmetics-dossier-alternative-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	border: 1px solid var(--cosmetics-dossier-border, #eee);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s;
}

.cosmetics-dossier-alternative-card:hover {
	border-color: var(--cosmetics-dossier-primary, #465d52);
}

.cosmetics-dossier-alternative-thumb {
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--cosmetics-dossier-block-bg, #f9f9f9);
}

.cosmetics-dossier-alternative-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cosmetics-dossier-alternative-info {
	padding: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.cosmetics-dossier-alternative-name {
	font-size: 0.875rem;
	font-weight: 600;
	color: inherit;
	line-height: 1.3;
}

.cosmetics-dossier-alternative-price {
	font-size: 0.8125rem;
	color: var(--cosmetics-dossier-secondary, #666);
}

/* Fit for you (logged-in profile match) */
.cosmetics-dossier-fit-for-you {
	padding: 1.25rem 1rem;
	margin-bottom: 2rem;
	border-radius: 8px;
	border: 1px solid var(--cosmetics-dossier-border, #eee);
	background: var(--cosmetics-dossier-block-bg, #f9f9f9);
}

.cosmetics-dossier-fit-for-you--match {
	border-left: 4px solid var(--cosmetics-dossier-primary, #465d52);
}

.cosmetics-dossier-fit-for-you__list {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.cosmetics-dossier-fit-for-you__item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.9375rem;
	line-height: 1.45;
}

.cosmetics-dossier-fit-for-you__item--yes .cosmetics-dossier-fit-for-you__icon {
	color: var(--cosmetics-dossier-primary, #465d52);
	font-weight: 700;
}

.cosmetics-dossier-fit-for-you__item--no .cosmetics-dossier-fit-for-you__icon {
	color: var(--cosmetics-dossier-secondary, #666);
}

.cosmetics-dossier-fit-for-you__disclaimer {
	font-size: 0.75rem;
	color: var(--cosmetics-dossier-secondary, #666);
	margin: 0;
}

.cosmetics-dossier-account-profile__values .cosmetics-dossier-account-profile__value {
	display: inline-block;
	margin-right: 0.75rem;
}
