/*
 * DateCle - autocomplete du moteur de recherche
 * /assets/css/search-suggest.css
 */

#searchitool {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: start;
	position: relative;
	margin-bottom: 1.5rem;
}

#searchitool .dc-search-field-wrap {
	position: relative;
	min-width: 0;
}

#searchitool #dc-search-input {
	width: 100%;
	min-width: 0;
	height: 4.45rem;
	padding: 0 1.35rem;
	border: 1px solid rgba(71, 82, 102, .18);
	border-radius: 1rem;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
	color: #202735;
	font-size: 1.06rem;
	font-weight: 700;
	letter-spacing: .01em;
	box-shadow:
		0 1px 2px rgba(17, 24, 39, .04),
		0 12px 36px rgba(17, 24, 39, .04);
	transition:
		border-color .18s ease,
		box-shadow .18s ease,
		transform .18s ease,
		background-color .18s ease;
}

#searchitool #dc-search-input::placeholder {
	color: #8a91a0;
	font-weight: 600;
}

#searchitool #dc-search-input:hover {
	border-color: rgba(73, 117, 180, .35);
	box-shadow:
		0 1px 2px rgba(17, 24, 39, .05),
		0 16px 42px rgba(17, 24, 39, .06);
}

#searchitool #dc-search-input:focus {
	border-color: rgba(73, 117, 180, .65);
	background: #fff;
	box-shadow:
		0 0 0 4px rgba(73, 117, 180, .12),
		0 18px 50px rgba(17, 24, 39, .08);
	outline: 0;
}

.dc-search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7rem;
	min-width: 18rem;
	height: 4.45rem;
	margin: 0;
	padding: 0 1.65rem;
	border: 0;
	border-radius: 1rem;
	background:
		linear-gradient(135deg, #ffb000 0%, #ff8a00 52%, #ff6a00 100%);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow:
		0 18px 38px rgba(255, 140, 0, .24),
		inset 0 1px 0 rgba(255,255,255,.24);
	transition:
		transform .16s ease,
		box-shadow .16s ease,
		filter .16s ease;
}

.dc-search-submit:hover,
.dc-search-submit:focus {
	transform: translateY(-2px);
	filter: saturate(1.05) brightness(1.02);
	box-shadow:
		0 24px 46px rgba(255, 140, 0, .28),
		inset 0 1px 0 rgba(255,255,255,.28);
	outline: 0;
}

.dc-search-submit:active {
	transform: translateY(0);
	box-shadow:
		0 12px 24px rgba(255, 140, 0, .22),
		inset 0 2px 4px rgba(0,0,0,.08);
}

.dc-search-submit-icon {
	font-size: 1.15rem;
	line-height: 1;
}

.dc-search-submit-label {
	display: inline-block;
	line-height: 1;
}

/* Liste flottante */

.dc-search-suggest {
	position: absolute;
	z-index: 1500;
	top: calc(100% + .7rem);
	left: 0;
	right: 0;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: min(28rem, 58vh);
	padding: .55rem;
	border: 1px solid rgba(66, 76, 94, .12);
	border-radius: 1rem;
	background: rgba(255, 255, 255, .99);
	box-shadow:
		0 24px 60px rgba(17, 24, 39, .13),
		0 6px 16px rgba(17, 24, 39, .06);
	backdrop-filter: blur(8px);
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.dc-search-suggest[hidden] {
	display: none !important;
}

.dc-search-suggest-item {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: .9rem;
	align-items: center;
	width: 100%;
	min-width: 0;
	padding: .9rem .95rem;
	border: 0;
	border-radius: .9rem;
	color: #2c3340;
	text-decoration: none !important;
	background: transparent;
	transition:
		background-color .14s ease,
		transform .14s ease,
		box-shadow .14s ease;
}

.dc-search-suggest-item + .dc-search-suggest-item {
	margin-top: .2rem;
}

.dc-search-suggest-item:hover,
.dc-search-suggest-item:focus,
.dc-search-suggest-item.is-active {
	color: #1e2531;
	background: linear-gradient(180deg, #f5f8fd 0%, #edf3fb 100%);
	box-shadow: inset 0 0 0 1px rgba(84, 115, 168, .09);
	outline: 0;
}

.dc-search-suggest-item:active {
	transform: translateY(1px);
}

.dc-search-suggest-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: .82rem;
	background: linear-gradient(180deg, #eff4fb 0%, #e8eef8 100%);
	font-size: 1.12rem;
	line-height: 1;
	box-shadow: inset 0 0 0 1px rgba(73, 117, 180, .08);
}

.dc-search-suggest-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.dc-search-suggest-label {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
	color: inherit;
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.25;
}

.dc-search-suggest-meta {
	display: block;
	margin-top: .16rem;
	color: #7a8290;
	font-size: .82rem;
	line-height: 1.2;
}

/* Résultats */

.dc-search-result-card {
	padding: 0 !important;
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid rgba(66, 76, 94, .08);
	box-shadow:
		0 14px 34px rgba(17, 24, 39, .05),
		0 2px 8px rgba(17, 24, 39, .03);
}

.dc-search-result-card + .dc-search-result-card {
	margin-top: 1rem;
}

.dc-search-result-link {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	padding: 1rem;
	color: inherit !important;
	text-decoration: none !important;
	transition:
		background-color .16s ease,
		transform .16s ease;
}

.dc-search-result-link:hover,
.dc-search-result-link:focus {
	background: linear-gradient(180deg, #fbfcfe 0%, #f5f8fd 100%);
	transform: translateY(-1px);
}

.dc-search-result-thumb {
	display: block;
	overflow: hidden;
	border-radius: .85rem;
	background: #eef2f8;
	aspect-ratio: 16 / 10;
}

.dc-search-result-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dc-search-result-copy {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	min-width: 0;
}

.dc-search-result-title {
	display: block;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.25;
	color: #202735;
	overflow-wrap: anywhere;
}

.dc-search-result-cta {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: #53627a;
	font-size: .92rem;
	font-weight: 700;
}

.dc-search-result-cta::after {
	content: "→";
	font-size: 1rem;
	line-height: 1;
}

.dc-search-notice {
	text-align: center;
}

.dc-search-notice--warn {
	border-left: 4px solid #ff9800;
}

/* Scrollbar discrète */

.dc-search-suggest {
	scrollbar-width: thin;
	scrollbar-color: rgba(96, 107, 125, .35) transparent;
}

.dc-search-suggest::-webkit-scrollbar {
	width: 8px;
}

.dc-search-suggest::-webkit-scrollbar-track {
	background: transparent;
}

.dc-search-suggest::-webkit-scrollbar-thumb {
	border: 2px solid transparent;
	border-radius: 999px;
	background: rgba(96, 107, 125, .32);
	background-clip: padding-box;
}

/* Mobile */

@media screen and (max-width: 980px) {
	.dc-search-submit {
		min-width: 14rem;
	}
}

@media screen and (max-width: 736px) {
	#searchitool {
		grid-template-columns: minmax(0, 1fr);
		gap: .8rem;
	}

	#searchitool #dc-search-input,
	.dc-search-submit {
		height: 3.9rem;
	}

	.dc-search-submit {
		width: 100%;
		min-width: 0;
		border-radius: .9rem;
	}

	.dc-search-suggest {
		max-height: min(24rem, 52vh);
		border-radius: .85rem;
		padding: .45rem;
	}

	.dc-search-suggest-item {
		grid-template-columns: 2.65rem minmax(0, 1fr);
		padding: .75rem;
	}

	.dc-search-suggest-icon {
		width: 2.5rem;
		height: 2.5rem;
	}

	.dc-search-result-link {
		grid-template-columns: 1fr;
		padding: .9rem;
	}

	.dc-search-result-thumb {
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	#searchitool #dc-search-input,
	.dc-search-submit,
	.dc-search-suggest-item,
	.dc-search-result-link {
		transition: none !important;
	}
}
