/* =========================================================
   user.search.css — search-widget / search-list / branch-select / city-pills / guide-card / results-empty
   ========================================================= */

/* ===== Component: .search-widget ====================== */
.search-widget {
	background:#fff; border-radius:24px;
	box-shadow:0 1px 0 rgba(15,42,18,0.04), 0 12px 32px rgba(15,42,18,0.08);
	padding:28px 24px;
}
@media (max-width:991px) {
	.search-widget {
		box-shadow:none; padding:0; background:transparent;
	}
}
/* 안내문과 submit 영역은 내부 8px 리듬보다 한 단계만 넓게 유지한다.
   24px은 안내문 간격의 3배라 새로고침 후 최종 레이아웃에서 과하게 벌어져 보였다. */
.search-widget__form {
	display:flex; flex-direction:column; gap:12px;
}
/* 자식(header / options / fields / prefer) 사이 일정 gap = 20px */
.search-widget__body { display:flex; flex-direction:column; gap:20px; }

/* header — 타이틀 + (옵션) 뒤로 */
.search-widget__header {
	display:flex; align-items:center; gap:12px;
	margin:0; position:relative;
}
.search-widget__title {
	flex:1; min-width:0;
	font-size:1.25rem; font-weight:800; letter-spacing:0;
	color:var(--unc-ink); line-height:1.4;
}
.search-widget__back {
	flex-shrink:0; width:32px; height:32px; border:0; padding:0;
	background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1D21' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") no-repeat center / 22px;
	font-size:0; cursor:pointer; border-radius:8px;
	transition: background-color .15s var(--unc-ease);
}
.search-widget__back:hover { background-color:var(--unc-bg-soft); }

/* options (체크박스 그룹) */
.search-widget__options {
	display:flex; flex-direction:column; gap:8px;
	margin:0;
}

/* fields (메인 필드 영역) — 내부 자식들 사이 + divider 위아래 동일 gap */
.search-widget__fields { display:flex; flex-direction:column; gap:16px; }

.search-widget__field {
	display:flex; flex-direction:column;
}
/* label/input 간격은 label margin-bottom 으로 통일 (input vs a 인 wrapper 가 line-height 다른 영향 제거) */
.search-widget__field-label {
	display:block;
	font-size:0.8125rem; font-weight:600; line-height:1.4;
	color:var(--unc-ink-2); letter-spacing:0;
	margin-bottom:8px;
}
/* input-link-box wrapper height 통일 (legacy user-renewal.css 의 height 미적용 시 대비) */
.search-widget__field > .input-link-box {
	display:flex; align-items:stretch; height:50px;
}
/* inner a 는 텍스트만 — 박스 시각은 wrapper(.input-link-box) 담당.
   두 줄(이름 + 영업시간) 가능: flex column. 단일 줄(날짜)은 hours hidden. */
.search-widget__field-input {
	display:flex; flex-direction:column; justify-content:center; gap:2px;
	width:100%; padding:0 16px; min-height:50px;
	background:transparent; border:0; box-sizing:border-box;
	text-decoration:none;
	transition: color .15s var(--unc-ease);
}
.search-widget__field-value {
	display:block;
	font-size:0.9375rem; font-weight:500; line-height:1.3; color:var(--unc-muted-2); letter-spacing:0;
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.search-widget__field-hours {
	display:block;
	font-size:0.75rem; font-weight:500; line-height:1.3; color:var(--unc-muted);
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.search-widget__field-hours[hidden] { display:none; }
/* is-filled / active — 이름 진하게 */
.search-widget__field.is-filled .search-widget__field-value,
.search-widget__field.active .search-widget__field-value,
.input-link-box.gray.active .search-widget__field-value {
	color:var(--unc-ink); font-weight:600;
}
/* text input 변형 (생년월일 등) */
.search-widget__field-input--text { cursor:text; }
.search-widget__field-input--text::placeholder { color:var(--unc-muted-2); }
/* input element 도 wrapper(.input-link-box) 안에 들어감 — 텍스트 스타일만 */
.search-widget__field input.search-widget__field-input {
	display:block; width:100%; height:50px; padding:0 16px; line-height:50px;
	background:transparent; border:0; box-shadow:none; outline:none;
	color:var(--unc-muted-2); font-weight:500;
	box-sizing:border-box;
}
.search-widget__field input.search-widget__field-input::placeholder { color:var(--unc-muted-2); }
.search-widget__field input.search-widget__field-input:focus {
	background:transparent; border:0; box-shadow:none; outline:none;
}
/* 값 입력 시 wrapper 흰 배경 + 검정 보더 + 텍스트 진하게 (다른 필드와 동일) */
.search-widget__dob-wrap:focus-within {
	background:#fff !important; border-color:var(--unc-brand) !important;
	box-shadow:0 0 0 3px rgba(36,210,44,0.18);
}
.search-widget__dob-wrap:has(input:not(:placeholder-shown)) {
	background:#fff !important; border-color:var(--unc-ink) !important;
}
.search-widget__dob-wrap:has(input:not(:placeholder-shown)) input {
	color:var(--unc-ink); font-weight:600;
}

/* 날짜 2분할 가로 */
.search-widget__dates {
	display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
@media (max-width:480px) { .search-widget__dates { gap:8px; } }

/* divider — margin 0, 부모(fields) gap 이 위아래 spacing 처리 */
.search-widget__divider {
	height:1px; background:var(--unc-line); margin:0;
}

/* prefer (선호 차량 fieldset) */
.search-widget__prefer {
	border:0; padding:0; margin:0;
	display:flex; flex-direction:column; gap:8px;
}
.search-widget__prefer > .search-widget__field-label {
	margin-bottom:4px;
}
.search-widget__note {
	font-size:0.75rem; color:var(--unc-muted); margin:4px 0 0;
	letter-spacing:0;
}

/* actions (제출 버튼 영역) */
.search-widget__actions {
	display:flex; align-items:stretch; gap:0.5rem; margin-top:0;
}
.search-widget__actions > .btn { flex:1; min-width:0; }
.search-widget__reset {
	flex:0 0 auto; min-width:4.25rem; height:3.375rem; padding:0 0.875rem;
	background:#fff; border:1px solid var(--unc-line-2); border-radius:var(--unc-radius-md);
	color:var(--unc-ink-2); font-size:0.8125rem; font-weight:700; line-height:1;
	cursor:pointer; -webkit-tap-highlight-color:transparent;
	transition:background-color .15s var(--unc-ease), border-color .15s var(--unc-ease), color .15s var(--unc-ease);
}
.search-widget__reset:hover { background:var(--unc-bg-soft); border-color:var(--unc-line); color:var(--unc-ink); }
.search-widget__reset:focus-visible {
	outline:none; border-color:var(--unc-ink); box-shadow:0 0 0 3px rgba(26,29,33,0.12);
}


/* ===== Component: .search-change-popup =============== */
.search-change-popup .popup-head { padding:18px 16px; border-bottom:1px solid var(--unc-line); }
.search-change-popup__body { padding:18px 18px 8px; }
.search-change-popup__widget { padding:0; box-shadow:none; background:transparent; }
.search-change-popup__foot { padding:14px 16px; border-top:1px solid var(--unc-line); }
.search-change-popup__foot .btn { width:100%; height:50px; }


/* ===== Component: .search-list (자동완성 dropdown) ===== */
/* 컴팩트 dropdown — input 아래 작은 box, 아래 요소(.branch-select 등) 가리지 않게 */
.search-list {
	display:none;
	position:absolute; left:0; top:calc(100% + 4px); right:0;
	background:#fff; border:1px solid var(--unc-line);
	border-radius:10px;
	box-shadow:0 6px 16px rgba(15,42,18,0.10);
	z-index:20; max-height:176px; overflow-y:auto;
}
/* input 에 값 있을 때만 표시 (focus만 으로는 너무 자주 뜸) */
.branch-popup__search:focus-within:has(input:not(:placeholder-shown)) .search-list,
.search-list.is-open { display:block; }
.search-list__items { list-style:none; padding:4px 0; margin:0; }
.search-list[data-state="loading"] .search-list__items,
.search-list[data-state="empty"] .search-list__items,
.search-list[data-state="error"] .search-list__items { display:none; }
.search-list__item { margin:0; }
.search-list__item a {
	display:block; padding:12px 16px;
	font-size:0.875rem; line-height:1; color:var(--unc-ink-2); text-decoration:none;
	transition: background-color .12s var(--unc-ease), color .12s var(--unc-ease);
}
.search-list__item a:hover { background:var(--unc-bg-soft); color:var(--unc-brand-strong); }
.search-list__state {
	margin:0; padding:18px 16px; text-align:center;
	color:var(--unc-muted); line-height:1.45;
}
.search-list__state[hidden] { display:none; }
.search-list__state strong,
.search-list__state span { display:block; word-break:keep-all; }
.search-list__state strong {
	font-size:0.875rem; font-weight:700; line-height:1.45; color:var(--unc-ink-2);
}
.search-list__state span {
	margin-top:4px; font-size:0.75rem; font-weight:500; line-height:1.45; color:var(--unc-muted);
}
.search-list__state--loading { font-size:0.8125rem; font-weight:600; }
.search-list__state--error strong { color:var(--unc-danger); }


/* ===== Component: .branch-select (지점 dropdown) ====== */
.branch-select { position:relative; }
.branch-select__trigger {
	display:flex; align-items:center; justify-content:space-between;
	width:100%; height:50px; padding:0 16px;  /* 도시 검색 wrapper 외형 50px 과 동일 */
	background:var(--unc-bg-soft); border:1px solid var(--unc-bg-soft); border-radius:12px;
	font-size:0.9375rem; font-weight:500; color:var(--unc-muted-2); letter-spacing:0;
	cursor:pointer; text-align:left;
	transition: border-color .15s var(--unc-ease), background-color .15s var(--unc-ease);
}
/* base.css 의 * { font-size:0.875rem; font-weight:400 } 강제 reset 으로 span 안 텍스트가
   부모 button 의 15/500 을 무시하는 함정 → 명시적 inherit */
.branch-select__value {
	font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit;
}
.branch-select__trigger::after {
	content:""; flex-shrink:0; width:18px; height:18px; margin-left:8px;
	background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA1A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat center / 18px;
	transition: transform .15s var(--unc-ease);
}
/* .active = 옵션 선택됨 (trigger 시각), .focus = dropdown 열림 (common.js 토글) */
.branch-select.active .branch-select__trigger,
.branch-select.focus .branch-select__trigger,
.branch-select__trigger:hover {
	background:#fff; border-color:var(--unc-muted-2); color:var(--unc-ink);
}
.branch-select.focus .branch-select__trigger::after { transform:rotate(180deg); }

/* v2-with-hours-stack: trigger + 영업시간 stack 통합 박스 — 내부 button 박스 시각 제거 */
.branch-select.v2-with-hours-stack {
	background:var(--unc-bg-soft); border:1px solid var(--unc-bg-soft); border-radius:12px;
	padding:10px 16px;
	transition: border-color .15s var(--unc-ease), background-color .15s var(--unc-ease);
}
.branch-select.v2-with-hours-stack.focus,
.branch-select.v2-with-hours-stack.active {
	background:#fff; border-color:var(--unc-ink);
}
.branch-select.v2-with-hours-stack > .branch-select__trigger {
	background:transparent !important; border:0 !important;
	padding:0; height:auto;
}
.branch-select.v2-with-hours-stack > .branch-select__trigger:hover {
	background:transparent !important; border:0 !important;
}
.branch-select__panel {
	display:none;
	position:absolute; left:0; top:calc(100% + 6px); right:0;
	background:#fff; border:1px solid var(--unc-line);
	border-radius:12px; box-shadow:var(--unc-shadow-md);
	z-index:20; max-height:240px; overflow-y:auto;
}
.branch-select.focus .branch-select__panel { display:block; }
.branch-select__list { padding:6px 0; margin:0; }
/* legacy .select-box > div dl dd { padding:0 16px } override → hover 배경 풀폭 */
.branch-select__list .branch-select__item { margin:0; padding:0; }
/* specificity 보강: legacy .select-box dl dd a (0,1,3) override */
.select-box .branch-select__item a,
.branch-select__list .branch-select__item a {
	display:flex; flex-direction:column; gap:4px;
	width:100%; padding:10px 16px;
	font-size:0.875rem; color:var(--unc-ink-2); text-decoration:none;
	box-sizing:border-box;
}
.branch-select__item-name {
	display:block;
	font-size:0.875rem; font-weight:500; line-height:1.35; color:inherit;
	word-break:keep-all;  /* 지점명 길어지면 2줄까지 자연 wrap */
}
.branch-select__item-hours {
	display:block;
	font-size:0.75rem; font-weight:400; line-height:1.3; color:var(--unc-muted);
	word-break:keep-all;
}
.branch-select__item:hover .branch-select__item-hours { color:var(--unc-muted); }
.branch-select__item:hover { background:var(--unc-bg-soft); }
.branch-select__item:hover a { color:var(--unc-brand-strong); }
.branch-select__item--empty span {
	display:block; padding:12px 16px;
	font-size:0.8125rem; color:var(--unc-muted-2);
}

/* 최근 도시 검색 기록 — pickup/return 지점 선택 popup 공용 */
.city-history { min-height:44px; }
.city-history__empty {
	margin:0; padding:12px 14px;
	border:1px dashed var(--unc-line); border-radius:8px;
	background:var(--unc-bg-soft);
	font-size:0.8125rem; color:var(--unc-muted-2);
}
.city-history__items {
	display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px;
	margin:0; padding:0; list-style:none;
}
.city-history__item { min-width:0; }
.city-history__item a {
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
	min-height:52px; padding:10px 12px;
	border:1px solid var(--unc-line); border-radius:999px;
	background:#fff; text-decoration:none;
	transition:border-color .15s var(--unc-ease), background-color .15s var(--unc-ease);
}
.city-history__item a.active {
	border-color:var(--unc-brand); background:var(--unc-brand-soft);
}
.city-history__name {
	display:-webkit-box; overflow:hidden;
	-webkit-box-orient:vertical; -webkit-line-clamp:2;
	white-space:normal; word-break:keep-all;
	font-size:0.8125rem; font-weight:600; line-height:1.35; color:var(--unc-ink-2); text-align:center;
}
.city-history__meta {
	overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
	font-size:0.75rem; font-weight:400; color:var(--unc-muted);
}
/* .recommend 배지 (인기) — trigger / dropdown 항목 / detail popup 헤더 공통 */
.branch-select__trigger .recommend,
.branch-select__item-name .recommend,
.branch-detail-popup__selected-info .recommend {
	display:inline-flex; align-items:center; margin-left:6px; padding:3px 8px;
	background:var(--unc-brand); color:#fff;
	font-size:0.6875rem; font-weight:700; line-height:1.2; border-radius:4px;
	vertical-align:middle; text-transform:none; letter-spacing:0;
}


/* ===== Component: .city-pills (도시 버튼 리스트, PC 3-col / mobile 2-col) ===== */
/* legacy .select-button-box ul li { width:calc(...) } / margin 강제 override */
body .city-pills .city-pills__items {
	display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)) !important; gap:8px !important;
	list-style:none; padding:0; margin:0 !important;
}
body .city-pills .city-pills__items > .city-pills__item {
	width:auto !important; margin:0 !important; flex:initial !important;
}
.city-pills__item a {
	display:flex; align-items:center; justify-content:center;
	width:100%; padding:10px 12px; min-height:52px;
	background:#fff; border:1px solid var(--unc-line);
	border-radius:999px;
	font-size:0.8125rem; font-weight:600; line-height:1.35; color:var(--unc-ink-2);
	text-decoration:none; text-align:center;
	white-space:normal; word-break:keep-all; overflow-wrap:anywhere;
	transition: border-color .15s var(--unc-ease), color .15s var(--unc-ease), background-color .15s var(--unc-ease);
}
.city-pills__item a:hover {
	border-color:var(--unc-brand); color:var(--unc-brand-strong); background:var(--unc-brand-soft);
}
.city-pills__item a.active {
	border-color:var(--unc-brand); color:var(--unc-brand-strong); background:var(--unc-brand-soft);
	font-weight:700;
}
@media (max-width:600px) {
	body .city-pills .city-pills__items { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:.5rem !important; }
	body .popup-box .branch-popup .branch-select__trigger {
		min-height:3.25rem; padding:.6875rem 1rem;
		font-size:1rem !important; line-height:1.4;
		border-radius:.75rem;
	}
	.branch-select__panel { top:calc(100% + .375rem); max-height:16rem; border-radius:.75rem; }
	.branch-select__panel { left:0; right:0; width:auto; max-width:100%; }
	.branch-select__list { padding:.375rem 0; }
	.select-box .branch-select__item a,
	.branch-select__list .branch-select__item a { gap:.25rem; padding:.75rem 1rem; font-size:1rem; }
	.branch-select__item-name { font-size:1rem; line-height:1.4; }
	.branch-select__item-hours { font-size:.875rem; line-height:1.45; }
	body .popup-box .branch-popup .city-pills__item a {
		min-height:3.25rem; padding:.625rem .75rem;
		font-size:.9375rem; line-height:1.35;
	}
	.city-history__items { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.5rem; }
	.city-history__item a { min-height:3.25rem; padding:.625rem .75rem; }
	.city-history__name { font-size:.875rem; line-height:1.35; }
	.city-history__meta { font-size:.8125rem; line-height:1.35; }
	.search-list__item a { padding:.875rem 1rem; font-size:1rem; line-height:1.4; }
	.search-list__state { padding:1.125rem 1rem; }
	.search-list__state strong { font-size:.9375rem; }
	.search-list__state span { font-size:.8125rem; }
}

@media (hover:hover) and (pointer:fine) {
	.city-history__item a:hover {
		border-color:var(--unc-brand); background:var(--unc-brand-soft);
	}
}


/* ===== Component: .guide-card (안내 배너) ============ */
.guide-card {
	display:flex; align-items:center; gap:16px;
	padding:16px 20px; margin-top:20px;
	background:#fff; border:1px solid var(--unc-line); border-radius:16px;
	box-shadow:0 1px 2px rgba(15,42,18,0.04);
}
.guide-card__title {
	flex-shrink:0;
	font-size:0.9375rem; font-weight:800; color:var(--unc-ink); letter-spacing:0;
}
.guide-card__body {
	flex:1; min-width:0;
	display:flex; align-items:center; gap:10px;
}
.guide-card__badge {
	flex-shrink:0;
	display:inline-flex; align-items:center;
	height:22px; padding:0 8px; border-radius:5px;
	background:var(--unc-brand-soft); color:var(--unc-brand-strong);
	font-size:0.6875rem; font-weight:700; font-style:normal;
}
.guide-card__desc {
	flex:1; min-width:0;
	font-size:0.8125rem; font-weight:500; color:var(--unc-ink-2);
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.guide-card__more {
	flex-shrink:0; padding:6px 12px;
	background:transparent; border:1px solid var(--unc-line); border-radius:999px;
	font-size:0.75rem; font-weight:600; color:var(--unc-ink-2); cursor:pointer;
}
.guide-card__more:hover { border-color:var(--unc-brand); color:var(--unc-brand-strong); }
@media (max-width:991px) {
	.guide-card { flex-direction:column; align-items:flex-start; gap:8px; padding:14px 16px; }
	.guide-card__body { width:100%; flex-wrap:wrap; }
}


/* ===== Component: .results-empty ====================== */
.results-empty {
	display:flex; flex-direction:column; align-items:center;
	width:min(100%, 44rem); margin:2.5rem auto 4rem; padding:2.5rem;
	border:1px solid var(--unc-line); border-radius:1.5rem;
	background:#fff; box-shadow:0 .5rem 2rem rgba(27,55,31,.06);
	text-align:center;
}
.results-empty__header { display:flex; flex-direction:column; align-items:center; }
.results-empty__icon {
	display:flex; align-items:center; justify-content:center;
	width:4.75rem; height:4.75rem; margin-bottom:1rem;
	border-radius:50%; background:var(--unc-brand-soft); color:var(--unc-brand-strong);
}
.results-empty__icon svg {
	display:block; width:3rem; height:3rem;
	fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}
.results-empty__title {
	font-size:1.25rem; line-height:1.4; font-weight:800; color:var(--unc-ink); margin-bottom:.5rem;
}
.results-empty__lead { max-width:30rem; font-size:.9375rem; line-height:1.6; color:var(--unc-muted); word-break:keep-all; }
.results-empty__desc {
	font-size:0.875rem; color:var(--unc-muted); line-height:1.55; word-break:keep-all;
}
.results-empty__desc a {
	font:inherit; color:var(--unc-brand-strong); text-decoration:underline; text-underline-offset:2px;
}
.results-empty__reason {
	display:flex; align-items:flex-start; gap:.625rem;
	width:100%; margin-top:1.5rem; padding:.875rem 1rem;
	border:1px solid #fecaca; border-radius:.75rem;
	background:#fff7f7; text-align:left;
}
.results-empty__reason[hidden] { display:none; }
.results-empty__reason::before {
	content:""; flex:0 0 auto; width:1.125rem; height:1.125rem; margin-top:.125rem;
	background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23DC2626'><circle cx='12' cy='12' r='10'/><path d='M11 7h2v7h-2zM11 16h2v2h-2z' fill='white'/></svg>") no-repeat center / contain;
}
.results-empty__reason-title {
	display:block; margin-bottom:.25rem;
	font-size:.8125rem; line-height:1.4; font-weight:700; color:var(--unc-danger);
}
.results-empty__reason-text {
	font-size:.875rem; line-height:1.55; color:var(--unc-ink-2); word-break:keep-all;
}
.results-empty__support-title {
	display:block; margin-bottom:.375rem;
	font-size:.875rem; line-height:1.4; font-weight:700; color:var(--unc-ink-2);
}
.results-empty__suggestion {
	display:flex; align-items:flex-start; gap:.875rem;
	width:100%; margin-top:1.5rem; padding:1.125rem 1.25rem;
	border-radius:1rem; background:var(--unc-brand-soft); text-align:left;
}
.results-empty__suggestion-icon {
	display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
	width:2rem; height:2rem; border-radius:50%;
	background:#fff; color:var(--unc-brand-strong); font-size:1.125rem; font-weight:800;
}
.results-empty__actions {
	display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr); gap:.75rem;
	width:100%; margin-top:1.5rem;
}
.results-empty__contact {
	display:flex; align-items:center; justify-content:space-between; gap:1rem;
	width:100%; margin-top:1.5rem; padding-top:1.25rem;
	border-top:1px solid var(--unc-line); text-align:left;
}
.results-empty__contact .results-empty__support-title { margin-bottom:.25rem; }
.results-empty__contact-link {
	flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
	min-height:2.5rem; padding:0 1rem; border:1px solid var(--unc-line-2); border-radius:999px;
	font-size:.8125rem; font-weight:700; color:var(--unc-brand-strong); text-decoration:none;
}
.results-empty__contact-link::after { content:"→"; margin-left:.375rem; }
.results-empty__contact-link:hover { border-color:var(--unc-brand); background:var(--unc-brand-soft); }
@media (max-width:767px) {
	.results-empty { margin:1.5rem auto 3rem; padding:2rem 1.25rem; border-radius:1.25rem; }
	.results-empty__icon { width:4.25rem; height:4.25rem; }
	.results-empty__actions { grid-template-columns:1fr; }
	.results-empty__contact { align-items:flex-start; }
}
@media (max-width:420px) {
	.results-empty__contact { flex-direction:column; }
	.results-empty__contact-link { width:100%; }
}


/* ===== Component: .preference-radios ================== */
/* 차량 선호 선택 — PC/태블릿 가로 3-column, 모바일 column */
.preference-radios {
	display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px;
	margin-top:20px;
}
.preference-radios__label {
	grid-column:1 / -1;
	font-size:0.875rem; font-weight:700; color:var(--unc-ink); margin-bottom:8px;
}
.preference-radios__note {
	grid-column:1 / -1; margin-top:6px;
	font-size:0.75rem; color:var(--unc-muted);
}
@media (max-width:767px) {
	.preference-radios { grid-template-columns:1fr; }
}
/* 카드 높이 통일 — 텍스트 wrap 되어도 동일 높이.
   Safari는 소수점 grid 폭의 인접 border를 같은 compositing layer에서 간헐적으로
   재사용해 가운데 카드 우측에 선택 색상 잔상이 생긴다. 카드별 paint 영역을
   분리하는 공통 처리는 user.forms.css의 .radio에 둔다. */
.preference-radios .radio {
	display:flex;
}
.preference-radios .radio__label {
	width:100%; min-height:64px; align-items:center;
}
