/* Plasnox Search v1.4.0 */

/* ── Wrapper ─────────────────────────────────── */
.pls-wrapper {
	--pls-btn-w:   46px;  /* atualizado pelo Elementor via pls_btn_size   */
	--pls-field-w: 400px; /* atualizado pelo Elementor via field_width     */
	position: relative;
	display: inline-block;
	width: var(--pls-btn-w);
	height: var(--pls-btn-w);
	font-family: 'Montserrat', sans-serif;
}

/* ── Botão toggle (caixa da lupa) ────────────── */
.pls-toggle {
	position: relative;
	z-index: 2;
	width: var(--pls-btn-w);
	height: var(--pls-btn-w);
	background: #ffffff;
	border: 2px solid #d0d8e4;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #00609F;
	box-shadow: 0 2px 8px rgba(0,14,39,.08);
	transition: border-color .2s, box-shadow .2s, background .2s, color .2s;
	padding: 0;
	line-height: 1;
}

.pls-toggle:hover {
	border-color: #00609F;
	box-shadow: 0 2px 12px rgba(0,96,159,.18);
}

/* Quando aberto no modo ícone: funde com o input */
.pls-wrapper.pls-open .pls-toggle {
	border-left-color: transparent;
	border-radius: 0 8px 8px 0;
	box-shadow: none;
}

/* ícone lupa ↔ fechar */
.pls-icon-close { display: none; }
.pls-wrapper.pls-open .pls-icon-search { display: none; }
.pls-wrapper.pls-open .pls-icon-close  { display: flex; }

/* ── Expand — MODO ÍCONE (padrão) ────────────── */
/* Position absolute: sai do fluxo, sobrepõe conteúdo ao expandir */
.pls-expand {
	position: absolute;
	top: 0;
	right: var(--pls-btn-w);
	width: 0;
	height: var(--pls-btn-w);
	overflow: hidden;
	transition: width .35s cubic-bezier(.4,0,.2,1);
	display: flex;
	align-items: center;
	z-index: 1;
}

.pls-wrapper.pls-open .pls-expand {
	width: var(--pls-field-w);
	overflow: visible;
}

/* ── Modo: sempre aberto ─────────────────────── */
/* Volta ao fluxo normal — sem gap entre input e botão */
.pls-wrapper.pls-mode-open {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
}

.pls-wrapper.pls-mode-open .pls-expand {
	position: relative;
	top: auto;
	right: auto;
	width: var(--pls-field-w);
	height: auto;
	overflow: visible;
	transition: none;
}

.pls-wrapper.pls-mode-open .pls-toggle {
	border-left-color: transparent;
	border-radius: 0 8px 8px 0;
	box-shadow: none;
	cursor: default;
	flex-shrink: 0;
	order: 2;
}

.pls-wrapper.pls-mode-open .pls-expand {
	order: 1;
}

.pls-wrapper.pls-mode-open .pls-icon-search { display: flex; }
.pls-wrapper.pls-mode-open .pls-icon-close  { display: none !important; }

/* ── Input ───────────────────────────────────── */
.pls-input {
	width: 400px;
	height: 46px;
	padding: 0 16px;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #000E27;
	background: #ffffff;
	border: 2px solid #00609F;
	border-right: none;
	border-radius: 8px 0 0 8px;
	outline: none;
	box-sizing: border-box;
	display: block;
}

.pls-input::placeholder { color: #aab4c0; font-weight: 400; }

/* ── Spinner ─────────────────────────────────── */
.pls-spinner {
	display: none;
	position: absolute;
	right: 12px;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(0,96,159,.2);
	border-top-color: #00609F;
	border-radius: 50%;
	animation: pls-spin .65s linear infinite;
	flex-shrink: 0;
}

.pls-wrapper.pls-loading .pls-spinner { display: block; }

@keyframes pls-spin { to { transform: rotate(360deg); } }

/* ── Dropdown ────────────────────────────────── */
.pls-results {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 446px;
	max-width: 96vw;
	background: #fff;
	border: 1px solid #d0d8e4;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0,14,39,.13);
	z-index: 99999;
	max-height: 460px;
	overflow-y: auto;
}

.pls-results.pls-open { display: block; }

/* ── Grupo ───────────────────────────────────── */
.pls-group {
	display: block;
	padding: 9px 16px 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #00609F;
	background: #f4f8fc;
	border-bottom: 1px solid #e8eef5;
}

a.pls-item + .pls-group { border-top: 1px solid #e8eef5; }

/* ── Item ────────────────────────────────────── */
a.pls-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	text-decoration: none;
	color: #000E27;
	transition: background .15s;
}

a.pls-item:hover,
a.pls-item.pls-focused {
	background: #eef5fb;
	color: #00609F;
}

.pls-thumb {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 6px;
	object-fit: cover;
	background: #f0f4f8;
}

.pls-thumb-ph {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 6px;
	background: #e8eef5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a0b4c4;
}

.pls-text  { flex: 1; min-width: 0; }

.pls-title {
	display: block;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.3;
}

.pls-meta {
	display: block;
	font-size: 12px;
	color: #7A7A7A;
	margin-top: 2px;
}

.pls-arr {
	flex-shrink: 0;
	color: #c8d4de;
	display: flex;
	transition: color .15s;
}

a.pls-item:hover .pls-arr,
a.pls-item.pls-focused .pls-arr { color: #FFC212; }

.pls-empty {
	padding: 20px 16px;
	text-align: center;
	font-size: 14px;
	color: #7A7A7A;
	margin: 0;
}

/* ── Scrollbar ───────────────────────────────── */
.pls-results::-webkit-scrollbar       { width: 5px; }
.pls-results::-webkit-scrollbar-track { background: transparent; }
.pls-results::-webkit-scrollbar-thumb { background: #c8d4de; border-radius: 3px; }
.pls-results::-webkit-scrollbar-thumb:hover { background: #00609F; }
