/**
 * Page de recherche — hero + formulaire
 */

/* ========================================
   Hero search — layout 2 colonnes
   ======================================== */

.ri-search-hero {
	display: grid;
	grid-template-columns: 1fr 731px;
	min-height: 600px;
	overflow: hidden;
}

/* ========================================
   Colonne gauche — contenu
   ======================================== */

.ri-search-hero .hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--ri-space-xl);
	padding-block: var(--ri-block-padding);
	padding-inline: calc((100vw - 1280px) / 2) 105px;
	background-color: var(--ri-color-grey-soft);
}

@media (max-width: 1344px) {

	.ri-search-hero .hero-content {
		padding-inline: 32px 105px;
	}
}

.ri-search-hero .intro {
	display: flex;
	flex-direction: column;
	gap: var(--ri-space-md);
}

.ri-search-hero .title {
	margin: 0;
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
}

.ri-search-hero .description {
	max-width: 628px;
	margin: 0;
	font: 400 var(--ri-size-text-body) / 1.5 var(--ri-font-1);
}

/* ========================================
   Formulaire de recherche
   ======================================== */

.ri-search-hero .search-form {
	display: flex;
	align-items: stretch;
	max-width: 761px;
	min-width: 343px;
	box-shadow: 0 4px 20px rgba(208, 208, 208, 0.5);
	background-color: var(--ri-color-white);
	overflow: hidden;
}

.ri-search-hero .search-input {
	flex: 1 1 0;
	padding-block: 0;
	padding-inline: var(--ri-space-md);
	border: none;
	outline: none;
	font: 400 16px / 1.5 var(--ri-font-1);
	color: var(--ri-color-teal);
	background: transparent;
	min-width: 0;
}

.ri-search-hero .search-input::placeholder {
	color: var(--ri-color-grey);
}

.ri-search-hero .search-btn {
	display: flex;
	align-items: center;
	gap: var(--ri-space-md);
	height: 56px;
	padding-inline: var(--ri-space-md);
	border: none;
	background-color: var(--ri-color-yellow);
	color: var(--ri-color-teal);
	font: 700 16px / 1.5 var(--ri-font-1);
	cursor: pointer;
	transition: background-color var(--ri-transition-base);
	white-space: nowrap;
	flex-shrink: 0;
}

.ri-search-hero .search-btn:hover,
.ri-search-hero .search-btn:focus-visible {
	background-color: color-mix(in srgb, var(--ri-color-yellow) 85%, var(--ri-color-teal));
}

.ri-search-hero .btn-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
}

/* ========================================
   Colonne droite — media/illustration
   ======================================== */

.ri-search-hero .hero-media {
	position: relative;
	width: 731px;
	background-color: var(--ri-color-grey);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ri-search-hero .media-deco {
	position: absolute;
	top: 50%;
	left: 82%;
	transform: translate(-50%, -50%);
	flex-shrink: 0;
	pointer-events: none;
	opacity: 0.3;
	mix-blend-mode: multiply;
}

.ri-search-hero .media-img {
	position: relative;
	z-index: 1;
	width: 405px;
	height: 495px;
	object-fit: cover;
	display: block;
}

/* ========================================
   Section résultats
   ======================================== */

.ri-search-results {
	display: grid;
	grid-template-columns: 1fr 731px;
	align-items: start;
}

.ri-search-results .results-content {
	display: flex;
	flex-direction: column;
	gap: var(--ri-space-xl);
	padding-block: calc(var(--ri-block-padding) * 2);
	padding-inline: calc((100vw - 1280px) / 2) 105px;
	background-color: var(--ri-color-grey-soft);
}

@media (max-width: 1344px) {

	.ri-search-results .results-content {
		padding-inline: 32px 105px;
	}
}

.ri-search-results .results-header {
	display: flex;
	flex-direction: column;
	gap: var(--ri-space-md);
}

.ri-search-results .results-title {
	margin: 0;
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-search-results .results-title .query {
	color: var(--ri-color-yellow);
}

.ri-search-results .results-count {
	margin: 0;
	font: 400 16px / 1.5 var(--ri-font-1);
	color: var(--ri-color-teal);
}

/* Liste */

.ri-search-results .results-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.ri-search-results .result-item:last-child {
	border-bottom: none;
}

.ri-search-results .result-link {
	display: flex;
	align-items: start;
	gap: 0;
	text-decoration: none;
	color: inherit;
	transition: background-color var(--ri-transition-base);
}

/* Thumbnail */

.ri-search-results .result-thumb {
	flex-shrink: 0;
	width: 175px;
	height: 102px;
	overflow: hidden;
	background-color: var(--ri-color-teal);
}

.ri-search-results .thumb-img {
	width: 175px;
	height: 102px;
	object-fit: cover;
	display: block;
}

.ri-search-results .thumb-placeholder {
	width: 175px;
	height: 102px;
	background-color: var(--ri-color-teal);
}

/* Corps du résultat */

.ri-search-results .result-body {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--ri-space-sm);
	padding-inline-start: var(--ri-space-sm);
}

.ri-search-results .result-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ri-search-results .result-date {
	font: 400 12px / 1 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-search-results .result-cats {
	display: flex;
	gap: var(--ri-space-xs);
}

.ri-search-results .result-tag {
	display: inline-block;
	padding: 2px 8px;
	background-color: var(--ri-color-yellow);
	font: 700 12px / 1 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-search-results .result-title {
	margin: 0;
	font: 700 var(--ri-size-text-body) / 1.5 var(--ri-font-1);
	color: var(--ri-color-teal);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	overflow: hidden;
}

/* Colonne droite */

.ri-search-results .results-media {
	position: sticky;
	top: 0;
	width: 731px;
	height: 100vh;
	overflow: hidden;
	background-color: var(--ri-color-grey);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ri-search-results .media-deco {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	width: 431px;
	height: 979px;
	opacity: 0.3;
	pointer-events: none;
}

.ri-search-results .media-img {
	position: relative;
	z-index: 1;
	width: 405px;
	height: 495px;
	object-fit: cover;
	display: block;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 1024px) {

	.ri-search-hero,
	.ri-search-results {
		grid-template-columns: 1fr;
	}

	.ri-search-hero .hero-content,
	.ri-search-results .results-content {
		padding-inline: var(--ri-container-padding);
	}

	.ri-search-hero .hero-media,
	.ri-search-results .results-media {
		display: none;
	}
}

@media (max-width: 782px) {

	.ri-search-hero .search-form {
		min-width: 0;
		width: 100%;
	}

	.ri-search-results .results-content {
		padding-block: var(--ri-block-padding-xl);
		gap: var(--ri-space-md);
	}

	.ri-search-hero .btn-label {
		display: none;
	}

	.ri-search-results .results-list {
		gap: 16px;
	}

	.ri-search-results .result-body {
		gap: 10px;
	}

	.ri-search-results .result-tag {
		padding: 0 4px;
		font: 700 10px / 1 var(--ri-font-1);
	}

	.ri-search-results .result-date {
		display: none;
	}

	.ri-search-results .result-thumb,
	.ri-search-results .thumb-img,
	.ri-search-results .thumb-placeholder {
		width: 122px;
		height: 72px;
	}
}
