button.msg-search-trigger.msg-search-trigger {
	align-items: center;
	-webkit-appearance: none;
	appearance: none;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 999px;
	box-shadow: none !important;
	color: #000 !important;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	gap: 7px;
	line-height: 1;
	margin: 0;
	min-height: 42px;
	padding: 10px 12px;
	position: relative;
	transition: color .25s ease, transform .25s ease;
}

button.msg-search-trigger.msg-search-trigger:hover,
button.msg-search-trigger.msg-search-trigger:focus,
button.msg-search-trigger.msg-search-trigger:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #bf7950 !important;
}
button.msg-search-trigger.msg-search-trigger:active {
	background: transparent !important;
	color: #bf7950 !important;
	transform: scale(.96);
}
button.msg-search-trigger.msg-search-trigger:focus-visible { outline: 2px solid var(--msg-accent, #bf7950); outline-offset: 2px; }

button.msg-search-trigger.msg-search-trigger > span,
button.msg-search-trigger.msg-search-trigger > svg {
	color: inherit !important;
}

.msg-search-trigger__icon,
.msg-search__input-icon {
	fill: none;
	height: 19px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.6;
	width: 19px;
}

.msg-search[hidden], .msg-search [hidden] { display: none !important; }
.msg-search { inset: 0; position: fixed; z-index: 999999; }
.msg-search__backdrop { background: rgba(0,0,0,.42); inset: 0; opacity: 0; position: absolute; transition: opacity .32s ease; }
.msg-search__dialog {
	background: #fff;
	box-shadow: -24px 0 70px rgba(33,22,16,.14);
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-left: auto;
	max-width: 720px;
	overflow: hidden;
	position: relative;
	transform: translateX(38px);
	transition: transform .38s cubic-bezier(.2,.75,.2,1), opacity .3s ease;
	width: min(100%, 720px);
}
.msg-search.is-visible .msg-search__backdrop { opacity: 1; }
.msg-search.is-visible .msg-search__dialog { transform: translateX(0); }
body.msg-search-open { overflow: hidden; }

.msg-search__header { padding: clamp(24px,5vw,52px) clamp(22px,6vw,62px) 22px; position: relative; }
.msg-search__eyebrow { color: var(--msg-accent, #bf7950); font-size: 11px; font-weight: 700; letter-spacing: .16em; margin: 0 0 9px; text-transform: uppercase; }
.msg-search__header h2 { color: var(--msg-primary, #000); font-family: inherit; font-size: clamp(25px,4vw,38px); font-weight: 500; letter-spacing: -.035em; line-height: 1.12; margin: 0; }
button.msg-search__close,
.msg-search__close { align-items: center !important; appearance: none !important; -webkit-appearance: none !important; background: var(--msg-surface, #f2ede8) !important; border: 0 !important; border-radius: 50% !important; box-shadow: none !important; color: #000 !important; cursor: pointer !important; display: flex !important; height: 44px !important; justify-content: center !important; outline: none !important; padding: 0 !important; position: absolute !important; right: clamp(18px,4vw,36px) !important; top: clamp(20px,4vw,38px) !important; transition: background .2s, transform .3s !important; width: 44px !important; }
button.msg-search__close:hover,
.msg-search__close:hover { background: #ebe2da !important; transform: rotate(7deg) !important; }
button.msg-search__close:focus-visible,
.msg-search__close:focus-visible { outline: 2px solid var(--msg-accent, #bf7950) !important; outline-offset: 3px !important; }
button.msg-search__close svg,
.msg-search__close svg { fill: none !important; height: 18px !important; stroke: currentColor !important; stroke-linecap: round !important; stroke-width: 1.7 !important; width: 18px !important; }

.msg-search__form { align-items: center; border-bottom: 1px solid rgba(0,0,0,.18); display: flex; margin: 0 clamp(22px,6vw,62px); min-height: 64px; position: relative; transition: border-color .2s; }
.msg-search__form:focus-within { border-color: var(--msg-accent, #bf7950); }
.msg-search__input-icon { color: #000; flex: 0 0 auto; height: 23px; margin-right: 13px; width: 23px; }
.msg-search__input { appearance: none; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: #000 !important; flex: 1; font: inherit; font-size: clamp(18px,3vw,25px); font-weight: 400; height: 64px; letter-spacing: -.02em; min-width: 0; outline: 0 !important; padding: 0 !important; }
.msg-search__input::-webkit-search-cancel-button { display: none; }
.msg-search__input::placeholder { color: #777371; opacity: 1; }

button.msg-search__clear-input[hidden],
.msg-search__clear-input[hidden] {
	display: none !important;
}
button.msg-search__clear-input,
.msg-search__clear-input {
	align-items: center !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background: var(--msg-surface, #f2ede8) !important;
	border: 0 !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #666 !important;
	cursor: pointer !important;
	display: inline-flex;
	flex: 0 0 30px !important;
	font: inherit !important;
	font-size: 0 !important;
	height: 30px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 0 0 10px !important;
	min-height: 30px !important;
	min-width: 30px !important;
	outline: none !important;
	padding: 0 !important;
	position: relative !important;
	text-decoration: none !important;
	transition: background .2s ease, color .2s ease, transform .2s ease !important;
	width: 30px !important;
}
button.msg-search__clear-input:not([hidden]),
.msg-search__clear-input:not([hidden]) {
	display: inline-flex !important;
}
button.msg-search__clear-input:hover,
.msg-search__clear-input:hover {
	background: #ebe2da !important;
	color: #000 !important;
	transform: scale(1.08) !important;
}
button.msg-search__clear-input:focus-visible,
.msg-search__clear-input:focus-visible {
	background: #ebe2da !important;
	color: #000 !important;
	outline: 2px solid var(--msg-accent, #bf7950) !important;
	outline-offset: 2px !important;
}
button.msg-search__clear-input:active,
.msg-search__clear-input:active {
	transform: scale(0.95) !important;
}
button.msg-search__clear-input svg,
.msg-search__clear-input svg {
	display: block !important;
	fill: none !important;
	height: 14px !important;
	margin: 0 !important;
	pointer-events: none !important;
	stroke: currentColor !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	stroke-width: 2.2 !important;
	width: 14px !important;
}

.msg-search__loader { animation: msg-spin .75s linear infinite; border: 2px solid #ebe2da; border-right-color: var(--msg-accent, #bf7950); border-radius: 50%; flex: 0 0 auto; height: 18px; margin-left: 10px; width: 18px; }
@keyframes msg-spin { to { transform: rotate(360deg); } }

.msg-search__content { flex: 1; overflow: auto; overscroll-behavior: contain; padding: 28px clamp(22px,6vw,62px) 36px; }
.msg-search__suggestion-group + .msg-search__suggestion-group { margin-top: 25px; }
.msg-search__group-heading { align-items: center; color: #777371; display: flex; font-size: 11px; font-weight: 700; justify-content: space-between; letter-spacing: .12em; margin: 0 0 12px; text-transform: uppercase; }
button.msg-search__history-clear,
.msg-search__history-clear { appearance: none !important; -webkit-appearance: none !important; background: none !important; border: 0 !important; box-shadow: none !important; color: #777371 !important; cursor: pointer !important; font: inherit !important; font-size: 11px !important; letter-spacing: 0 !important; padding: 5px 0 !important; text-decoration: underline !important; text-transform: none !important; text-underline-offset: 3px !important; }
button.msg-search__history-clear:hover,
.msg-search__history-clear:hover { background: none !important; color: var(--msg-accent, #bf7950) !important; }
.msg-search__chips { display: flex; flex-wrap: wrap; gap: 8px; }
button.msg-search__chip,
.msg-search__chip { appearance: none !important; -webkit-appearance: none !important; background: var(--msg-surface, #f2ede8) !important; border: 1px solid transparent !important; border-radius: 999px !important; box-shadow: none !important; color: #000 !important; cursor: pointer !important; font: inherit !important; font-size: 13px !important; padding: 9px 14px !important; transition: background .2s, border-color .2s, transform .2s !important; }
button.msg-search__chip:hover,
button.msg-search__chip:focus-visible,
.msg-search__chip:hover,
.msg-search__chip:focus-visible { background: #fff !important; border-color: var(--msg-accent, #bf7950) !important; color: #000 !important; outline: 0 !important; transform: translateY(-1px) !important; }

.msg-search__result-group + .msg-search__result-group { margin-top: 26px; }
.msg-search__result-list { display: grid; gap: 2px; }
.msg-search__result { align-items: center; border-bottom: 1px solid #f2ede8; color: #000 !important; display: flex; gap: 14px; min-height: 68px; padding: 9px 5px; text-decoration: none !important; transition: background .2s, padding .2s; }
.msg-search__result:hover, .msg-search__result.is-active { background: rgba(242,237,232,.65); padding-left: 11px; }
.msg-search__result:focus-visible { outline: 2px solid var(--msg-accent, #bf7950); outline-offset: 1px; }
.msg-search__thumb { background: var(--msg-surface, #f2ede8); border-radius: 9px; flex: 0 0 48px; height: 48px; object-fit: cover; width: 48px; }
.msg-search__result-copy { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.msg-search__result-title { font-size: 14px; font-weight: 500; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msg-search__result-title mark { background: transparent; color: var(--msg-accent, #bf7950); font-weight: 700; }
.msg-search__price { color: #777371; font-size: 12px; line-height: 1.25; }
.msg-search__price del { opacity: .6; margin-right: 5px; }
.msg-search__price ins { background: none; text-decoration: none; }
.msg-search__result-arrow { fill: none; height: 17px; opacity: .4; stroke: currentColor; stroke-linecap: round; stroke-width: 1.5; width: 17px; }
.msg-search__result:hover .msg-search__result-arrow, .msg-search__result.is-active .msg-search__result-arrow { opacity: 1; transform: translateX(2px); }
.msg-search__state { color: #777371; font-size: 15px; line-height: 1.65; padding: 32px 0; text-align: center; }
.msg-search__view-all { align-items: center; border: 1px solid #000; border-radius: 999px; color: #000 !important; display: flex; font-size: 13px; gap: 10px; justify-content: center; margin-top: 28px; padding: 13px 20px; text-decoration: none !important; transition: background .25s, color .25s; }
.msg-search__view-all:hover, .msg-search__view-all:focus-visible { background: #000; color: #fff !important; outline: 0; }
.msg-search__view-all svg { fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-width: 1.5; width: 16px; }

.msg-search__footer { border-top: 1px solid #f2ede8; color: #777371; display: flex; font-size: 10px; gap: 16px; padding: 13px clamp(22px,6vw,62px); }
.msg-search__footer kbd { background: #f2ede8; border: 0; border-radius: 3px; box-shadow: none; color: #777371; font: inherit; margin-right: 2px; padding: 2px 5px; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }

@media (max-width: 600px) {
	.msg-search__dialog { max-width: none; width: 100%; }
	.msg-search__header { padding-top: 28px; }
	.msg-search__header h2 { padding-right: 48px; }
	.msg-search__close { right: 18px; top: 22px; }
	.msg-search__footer { display: none; }
	.msg-search__content { padding-bottom: max(28px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
	.msg-search *, .msg-search-trigger { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
