/* =========================================================
   user.main.css — main hero / schedule-bar / inline panel / page main + auth
   ========================================================= */

/* ===== Public support / legal documents ================== */
.public-info {
	min-height:calc(100vh - 240px); padding:112px 0 80px; background:#F8FBF8;
}
.public-info__container { max-width:1000px; }
.public-info__header { margin-bottom:28px; }
.public-info__eyebrow {
	margin-bottom:8px; color:var(--unc-brand-strong); font-size:0.75rem; font-weight:800; letter-spacing:.08em;
}
.public-info__title { color:var(--unc-ink); font-size:2rem; line-height:1.25; letter-spacing:-.03em; }
.public-info__lead { margin-top:12px; color:var(--unc-ink-3); font-size:1rem; line-height:1.7; word-break:keep-all; }
.public-info__meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; color:var(--unc-muted); font-size:0.8125rem; }
.public-info__card,
.public-info__support-card {
	background:#fff; border:1px solid var(--unc-line); border-radius:20px; box-shadow:0 8px 24px rgba(25,70,35,.04);
}
.public-info__card { padding:36px 40px; }
.public-info__prose { color:var(--unc-ink-3); font-size:0.9375rem; line-height:1.8; overflow-wrap:anywhere; }
.public-info__prose p { display:block; margin:0 0 14px; font-size:inherit; line-height:inherit; }
.public-info__prose p:last-child { margin-bottom:0; }
.public-info__prose table { width:100%; margin:18px 0; border-collapse:collapse; }
.public-info__prose th,
.public-info__prose td { padding:12px; border:1px solid var(--unc-line); text-align:left; vertical-align:top; }
.public-info__actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
.public-info__actions .btn { width:160px; }
.public-info__support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.public-info__support-card { display:flex; flex-direction:column; align-items:flex-start; padding:30px; }
.public-info__support-label { color:var(--unc-brand-strong); font-size:0.75rem; font-weight:800; }
.public-info__support-card h2,
.public-info__help h2,
.public-info__company h2 { margin-top:8px; color:var(--unc-ink); font-size:1.25rem; line-height:1.4; }
.public-info__support-card p,
.public-info__help p { margin:10px 0 22px; color:var(--unc-ink-3); font-size:0.875rem; line-height:1.65; word-break:keep-all; }
.public-info__support-card .btn { width:100%; margin-top:auto; }
.public-info__help { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.public-info__help p { margin-bottom:0; }
.public-info__help-actions { display:flex; flex-shrink:0; gap:10px; }
.public-info__help-actions .btn { min-width:150px; }
.public-info__company h2 { margin:0 0 18px; }
.public-info__company dl { display:grid; gap:12px; }
.public-info__company dl div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:16px; }
.public-info__company dt { color:var(--unc-muted); font-size:0.875rem; font-weight:700; }
.public-info__company dd { color:var(--unc-ink-3); font-size:0.875rem; line-height:1.55; }
.public-info__legal-links { display:flex; justify-content:center; gap:24px; margin-top:28px; }
.public-info__legal-links a { color:var(--unc-ink-3); font-size:0.875rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:767px) {
	.public-info { padding:88px 0 56px; }
	.public-info__header { margin-bottom:20px; }
	.public-info__title { font-size:1.625rem; }
	.public-info__card { padding:24px 20px; border-radius:16px; }
	.public-info__support-grid { grid-template-columns:1fr; gap:14px; }
	.public-info__support-card { padding:24px 20px; border-radius:16px; }
	.public-info__help { align-items:stretch; flex-direction:column; gap:20px; }
	.public-info__help-actions { width:100%; }
	.public-info__help-actions .btn { min-width:0; flex:1; }
	.public-info__company dl div { grid-template-columns:1fr; gap:4px; }
	.public-info__actions { position:static; }
	.public-info__actions .btn { flex:1; width:auto; }
}

/* ===== Component: .main-hero (홈 좌측 콘텐츠) ========= */
.main-hero {
	display:flex; flex-direction:column; gap:20px;
}
.main-hero__cta {
	display:none; /* PC 에서는 숨김 — 모바일 인트로 전용 */
	width:100%; height:54px; border:0; border-radius:12px;
	background:var(--unc-brand); color:var(--unc-ink);
	font-size:1rem; font-weight:700; cursor:pointer;
}
.main-hero__title-block { display:flex; flex-direction:column; gap:10px; }
.main-hero__brand {
	display:flex; align-items:center; gap:10px;
	font-size:1.75rem; font-weight:800; color:var(--unc-brand); letter-spacing:0;
}
.main-hero__brand img { height:30px; width:auto; }
.main-hero__subtitle {
	font-size:1.125rem; font-weight:600; color:var(--unc-ink-2); letter-spacing:0;
}
.main-hero__tagline {
	font-size:0.9375rem; line-height:1.6; color:var(--unc-ink-3); word-break:keep-all;
}
.main-hero__tagline b {
	display:block; font-size:1.0625rem; font-weight:700; color:var(--unc-brand); margin-bottom:4px;
}

/* update / more 카드 */
.main-hero__card {
	display:block; padding:18px 20px;
	background:#fff; border:1px solid var(--unc-line); border-radius:16px;
	color:inherit; text-decoration:none;
	transition: border-color .15s var(--unc-ease), box-shadow .15s var(--unc-ease), transform .15s var(--unc-ease);
}
.main-hero__card:hover {
	border-color:var(--unc-brand);
	box-shadow:0 4px 14px rgba(36,210,44,0.10);
	transform:translateY(-1px);
}
.main-hero__update-head {
	display:flex; align-items:center; justify-content:space-between;
	margin-bottom:10px;
}
.main-hero__update-head > div {
	display:flex; align-items:center; gap:10px;
}
.main-hero__update-head em {
	font-style:normal; padding:4px 10px;
	background:var(--unc-brand-soft); color:var(--unc-brand-strong);
	font-size:0.75rem; font-weight:700; border-radius:6px;
}
.main-hero__update-head time {
	font-size:0.75rem; color:var(--unc-muted);
}
.main-hero__update-head > p {
	font-size:0.75rem; color:var(--unc-muted);
}
.main-hero__update-body {
	display:flex; align-items:center; gap:10px;
}
.main-hero__update-body > p {
	flex:1; min-width:0;
	font-size:1.0625rem; font-weight:700; color:var(--unc-ink);
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.main-hero__update-body .state {
	flex-shrink:0; padding:4px 10px; border-radius:6px;
	background:var(--unc-ink); color:#fff;
	font-size:0.6875rem; font-weight:700;
}
/* 모바일: head 한 줄에 [배지+날짜]+[설명] 이 다 안 들어가 배지가 줄바꿈되고
   날짜와 설명이 맞붙던 문제 → 설명을 아랫줄로 내리고 배지는 한 줄 유지 */
@media (max-width:600px) {
	.main-hero__update-head { flex-wrap:wrap; row-gap:6px; }
	.main-hero__update-head em { white-space:nowrap; flex-shrink:0; }
	.main-hero__update-head > p { flex-basis:100%; }
}

.main-hero__more {
	display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.main-hero__more p {
	flex:1; min-width:0;
	font-size:0.875rem; line-height:1.55; color:var(--unc-ink-3); word-break:keep-all;
}
.main-hero__more > div {
	flex-shrink:0;
	display:flex; align-items:center; gap:6px;
	font-size:0.8125rem; font-weight:800; color:var(--unc-brand-strong);
}
.main-hero__more > div span { font-weight:800; }
.main-hero__more > div::after {
	content:""; width:14px; height:14px;
	background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318B921' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") no-repeat center / contain;
}


/* ===== Component: .schedule-bar (상단 sticky 일정) ===== */
/* user-components.js 가 data-schedule-bar 컨테이너에 렌더링. 페이지 마크업은
   <div class="schedule-bar schedule-box" data-schedule-bar>...</div>.
   (.schedule-box 는 legacy 호환. transition 완료 후 제거) */
.schedule-bar {
	position:sticky; top:64px; z-index:10;
	padding:12px 0;
	background:#F4FCF5;
	border-bottom:1px solid var(--unc-line);
}
.schedule-bar .container {
	display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px;
}
.schedule-bar__list {
	flex:1; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:16px;
}
.schedule-bar__group {
	flex:1; min-width:0;
	display:flex; align-items:flex-end; gap:12px;
	list-style:none; padding:0; margin:0;
}
.schedule-bar__group--dates { flex:none; width:364px; }
.schedule-bar__item {
	flex:1; min-width:0;
	display:flex; flex-direction:column;
}
.schedule-bar__label {
	font-size:0.875rem; font-weight:800; color:var(--unc-ink); letter-spacing:0;
	margin:0 0 6px;
}
.schedule-bar__value {
	height:50px; padding:0 16px; border-radius:12px;
	background:#fff; border:1px solid var(--unc-line);
	font-size:0.9375rem; font-weight:600; color:var(--unc-ink); letter-spacing:0;
	display:flex; align-items:center;
	position:relative;
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.schedule-bar__value[data-popup] { cursor:pointer; transition: border-color .15s var(--unc-ease); }
.schedule-bar__value[data-popup]:hover { border-color:var(--unc-brand); }
.schedule-bar__value b { display:none; }
.schedule-bar__value-text {
	display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
	font-size:inherit; font-weight:inherit; line-height:inherit;
}
.schedule-bar__summary { display:none; }
.schedule-bar__action { flex-shrink:0; width:112px; }
.schedule-bar__action .btn { height:56px; }
.schedule-bar--loading .schedule-bar__value-text { color:transparent; }
.schedule-bar--loading .schedule-bar__value::after {
	content:"";
	position:absolute;
	left:16px;
	right:16px;
	top:50%;
	height:16px;
	transform:translateY(-50%);
	border-radius:999px;
	background:linear-gradient(90deg, #E6F0EA 0%, #F8FAFC 46%, #E6F0EA 100%);
	background-size:220% 100%;
	animation:scheduleSkeletonPulse 1.2s ease-in-out infinite;
}
@keyframes scheduleSkeletonPulse {
	0% { background-position:120% 0; }
	100% { background-position:-120% 0; }
}

@media (max-width:991px) {
	.schedule-bar {
		top:56px; padding:12px 0;
		background:#fff;
		border-bottom:1px solid var(--unc-line);
	}
	/* 좌측: 4 라인(픽업/반납 지점 + 픽업/반납 날짜) + 우측: 작은 변경 버튼 */
	.schedule-bar .container {
		display:flex; flex-wrap:nowrap; align-items:center;
		justify-content:flex-start; gap:12px;
	}
	.schedule-bar__list {
		flex:1 1 auto; min-width:0;
		display:flex; flex-direction:column; align-items:stretch; gap:6px;
	}
	.schedule-bar__group,
	.schedule-bar__group--dates {
		display:flex; flex-direction:column; flex:none; width:auto; gap:6px;
		justify-content:flex-start; align-items:stretch;
	}
	.schedule-bar__item {
		flex:none; display:flex; flex-direction:row; align-items:center; gap:10px;
		justify-content:flex-start;
	}
	/* 라벨을 값과 같은 크기에 더 굵게, 본문색으로 — 0.75rem/muted 회색은
	   눈에 들어오지 않았다. */
	.schedule-bar__label {
		flex-shrink:0; width:72px; margin:0; text-align:left;
		font-size:0.875rem; font-weight:800; color:var(--unc-ink);
	}
	.schedule-bar__value {
		flex:1 1 auto; min-width:0; height:auto; padding:0;
		font-size:0.8125rem; font-weight:600; line-height:1.35;
		background:transparent; border:0; border-radius:0;
		text-align:left;
		white-space:normal; overflow:visible; text-overflow:clip;
	}
	.schedule-bar--loading .schedule-bar__value {
		min-height:18px;
		overflow:hidden;
	}
	.schedule-bar--loading .schedule-bar__value::after {
		left:0;
		right:0;
		height:13px;
	}
	.schedule-bar__value-text {
		white-space:normal; overflow:visible; text-overflow:clip;
		font-size:inherit;
	}
	.schedule-bar__summary { display:none; }
	.schedule-bar__action { flex:none; width:auto; align-self:flex-start; padding-top:0; }
	.schedule-bar__action .btn {
		width:auto; min-width:64px; height:32px; padding:0 12px;
		font-size:0.75rem; font-weight:700;
	}
}


/* ===== Component: [data-main-inline-panel] =========== */
/* 데스크탑 inline panel — 픽업 지점/날짜 클릭 시 좌측 hero 자리에 펼침.
   body.main-inline-open 가 hero(.main-hero) 숨김 + panel(.active) 표시. */
[data-main-inline-panel] { display:none; }
body.main.main-inline-open .main-hero,
body.main.main-inline-open .main-box { display:none; }
body.main.main-inline-open [data-main-inline-panel].active {
	display:flex; flex-direction:column;
	background:#fff; border-radius:24px;
	padding:32px 24px;
	box-shadow:var(--unc-shadow-md);
}
[data-main-inline-panel] .box {
	width:100%; display:flex; flex-direction:column;
	background:#fff;
}
[data-main-inline-panel] .popup-head {
	position:relative; flex-shrink:0; padding:0;
	border-bottom:0;
}
[data-main-inline-panel] .popup-head h2 {
	font-size:1.375rem; font-weight:800; letter-spacing:0; color:var(--unc-ink);
	line-height:1.35; padding-right:40px; text-align:left;
}
[data-main-inline-panel] .popup-head .close {
	position:absolute; right:0; top:50%; transform:translateY(-50%);
	width:32px; height:32px; padding:0; border:0; font-size:0; cursor:pointer;
	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.2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") no-repeat center / 22px;
	border-radius:8px; transition: background-color .15s var(--unc-ease);
}
[data-main-inline-panel] .popup-head .close:hover { background-color:var(--unc-bg-soft); }
[data-main-inline-panel] .popup-body {
	overflow:visible;
	margin-top:24px; padding:0;
}
[data-main-inline-panel] .popup-foot {
	flex-shrink:0; margin-top:20px; padding:0; border-top:0; background:transparent;
}
[data-main-inline-panel] .popup-foot .button-box {
	display:flex; gap:10px;
}
[data-main-inline-panel] .popup-foot .btn { flex:1; min-width:0; height:50px; }
/* inline panel 안 도시 pill 그리드는 user.search.css 의 PC 3-column 규칙을 사용 */
[data-main-inline-panel] .city-pills__item a {
	height:44px; padding:0 12px;
}
@media (max-width:991px) {
	[data-main-inline-panel],
	body.main.main-inline-open [data-main-inline-panel].active { display:none; }
}


/* ===== Page: .main (홈) ============================== */
body.main {
	background:linear-gradient(180deg, #F0FAEC 0%, #FFFFFF 560px);
}
@media (max-width:991px) { body.main { background:#fff; } }

.main-section { padding:40px 0; }
@media (max-width:991px) { .main-section { padding:24px 0 80px; } }

.main-layout {
	display:grid; grid-template-columns:1fr minmax(360px, 460px);
	gap:40px; align-items:start;
}
/* 그리드 아이템 min-width:auto 기본값 → 검색 위젯 안의 nowrap 영업시간 텍스트 등
   넓은 콘텐츠가 트랙 밖으로 컬럼을 밀어내 가로 스크롤 발생. min-width:0 으로 트랙 폭 준수. */
.main-layout__hero, .main-layout__sidebar { min-width:0; }
@media (max-width:991px) {
	.main-layout { grid-template-columns:1fr; gap:24px; }

	/* 모바일 인트로 모드 — 검색 위젯 숨김 + sticky CTA 표시 */
	body.main:not(.main-intro-closed) .main-layout__sidebar { display:none; }
	body.main:not(.main-intro-closed) .main-hero__cta {
		display:block;
		position:fixed !important; left:0; right:0;
		bottom:var(--mobile-visual-bottom, 0px); z-index:1100;
		width:100%; min-height:4rem; height:auto;
		padding:.875rem 1.25rem calc(.875rem + env(safe-area-inset-bottom));
		border-radius:0;
		background:var(--unc-brand); color:var(--unc-ink);
		font-size:1rem; line-height:1.4; font-weight:700;
		box-shadow:0 -4px 12px rgba(0,0,0,0.08);
		transform:translate3d(0,0,0);
		backface-visibility:hidden;
		-webkit-backface-visibility:hidden;
		will-change:bottom;
	}
	body.main:not(.main-intro-closed) .main-hero__cta:hover { background:var(--unc-brand-strong); color:#fff; }
	body.main:not(.main-intro-closed) {
		padding-bottom:calc(4rem + var(--mobile-visual-bottom, 0px) + env(safe-area-inset-bottom));
	}

	/* 인트로 모드 — footer 숨김 (sticky CTA 와 충돌, 인트로 전체화면 느낌) */
	body.main:not(.main-intro-closed) footer[data-user-footer] { display:none; }

	/* 예약하기 클릭 후 — 인트로 영역 숨김 + 검색 위젯만 표시 */
	body.main.main-intro-closed .main-layout__hero { display:none; }
	body.main.main-intro-closed .main-hero__cta { display:none; }
}


/* ===== Page: .auth (login / register / password ...) === */
.auth__main { flex:1; }
/* footer 여백은 main padding-bottom (user.base.css) 으로 일관 처리 */
.auth__section { padding:24px 0 0; }

.auth__header { margin:16px 0 24px; }
.auth__title {
	font-size:1.5rem; font-weight:800; line-height:1.4; letter-spacing:0;
	color:var(--unc-ink); word-break:keep-all;
}

.auth__form { display:flex; flex-direction:column; gap:12px; }
.auth__form .field + .field { margin-top:0; }
.auth__form .helper { margin-top:0; }
.auth__form .link-row { margin-top:0; }

.auth-transition__step {
	margin-bottom:6px; color:var(--unc-brand-strong);
	font-size:0.8125rem; font-weight:700; line-height:1.4;
}
.auth-transition__notice {
	margin-bottom:20px; padding:16px;
	border:1px solid var(--unc-line); border-radius:12px;
	background:var(--unc-brand-soft);
}
.auth-transition__notice-title {
	display:block; color:var(--unc-ink); font-size:0.9375rem; font-weight:700; line-height:1.5;
}
.auth-transition__notice-text {
	margin-top:6px; color:var(--unc-ink-2); font-size:0.8125rem; font-weight:500; line-height:1.6;
	word-break:keep-all;
}
.auth-transition__label {
	display:flex; align-items:center; gap:6px;
	color:var(--unc-ink); font-size:0.875rem; font-weight:700; line-height:1.5;
}
.auth-transition__label span {
	color:var(--unc-danger); font-size:0.75rem; font-weight:700;
}
.auth-transition__next {
	margin-top:2px; color:var(--unc-muted-2); font-size:0.75rem; font-weight:500; line-height:1.5;
	text-align:center; word-break:keep-all;
}

/* auth 페이지 전용 body 셋업 */
body.auth {
	min-height:100vh; min-height:100dvh;
	display:flex; flex-direction:column;
}
body.auth main { flex:1; }
@media (max-width:991px) {
	body.auth footer[data-user-footer] { display:none; }
}


/* ===== Page: .mypage (마이페이지 공통) =============== */
.mypage-layout {
	display:grid; grid-template-columns:240px 1fr;
	gap:32px; align-items:start; margin-top:20px;
}
/* 그리드 아이템은 min-width:auto 가 기본 → 내부 min-content 가 트랙보다 넓으면
   트랙 밖으로 넘쳐 가로 스크롤 발생. min-width:0 으로 트랙 폭을 따르게 한다. */
.mypage-nav, .mypage-main { min-width:0; }
@media (max-width:991px) {
	.mypage-layout { grid-template-columns:1fr; gap:18px; }
}

/* ===== Component: .mypage-nav (좌측 LNB) ============ */
.mypage-nav {
	padding:24px 0; border:1px solid var(--unc-line); border-radius:16px;
	background:#fff; box-shadow:0 1px 2px rgba(15,42,18,0.04);
	position:sticky; top:88px;
}
@media (max-width:991px) { .mypage-nav { position:static; padding:18px 0; } }
.mypage-nav__head {
	display:flex; flex-direction:column; gap:2px;
	padding:0 22px 18px; border-bottom:1px solid var(--unc-line); margin-bottom:10px;
}
.mypage-nav__greeting { font-size:0.75rem; color:var(--unc-muted); font-weight:600; }
.mypage-nav__user {
	font-size:1rem; font-weight:800; color:var(--unc-ink); letter-spacing:0;
}
.mypage-nav__menu ul {
	list-style:none; padding:0; margin:0;
	display:flex; flex-direction:column;
}
.mypage-nav__menu li { list-style:none; }
.mypage-nav__menu li a {
	display:flex; align-items:center;
	padding:11px 22px; font-size:0.875rem; font-weight:600;
	color:var(--unc-ink-2); text-decoration:none;
	border-left:3px solid transparent;
	transition: background-color .15s var(--unc-ease), color .15s var(--unc-ease), border-color .15s var(--unc-ease);
}
.mypage-nav__menu li a:hover {
	background:var(--unc-bg-soft); color:var(--unc-ink);
}
.mypage-nav__menu li.is-active a {
	color:var(--unc-brand-strong); font-weight:800;
	background:var(--unc-brand-soft);
	border-left-color:var(--unc-brand);
}
.mypage-nav__logout {
	display:block; width:calc(100% - 44px); margin:14px 22px 0;
	padding:10px 0; border:1px solid var(--unc-line); border-radius:10px;
	background:#fff; color:var(--unc-ink-3); font-size:0.8125rem; font-weight:700;
	cursor:pointer;
	transition: border-color .15s var(--unc-ease), color .15s var(--unc-ease);
}
.mypage-nav__logout:hover { border-color:var(--unc-ink-3); color:var(--unc-ink); }
@media (max-width:991px) {
	/* 모바일: LNB 가로 스크롤 탭 */
	.mypage-nav__head { padding:0 18px 14px; }
	.mypage-nav__menu ul { flex-direction:row; overflow-x:auto; padding:0 8px; gap:4px; -webkit-overflow-scrolling:touch; }
	.mypage-nav__menu li a {
		padding:10px 14px; border-left:0; border-bottom:2px solid transparent;
		white-space:nowrap; font-size:0.8125rem;
	}
	.mypage-nav__menu li.is-active a { background:transparent; border-bottom-color:var(--unc-brand); }
	.mypage-nav__logout { margin:14px 18px 0; }
}

/* ===== Component: .mypage-header (페이지 타이틀) ===== */
.mypage-header { margin-bottom:18px; }
.mypage-header__title {
	font-size:1.375rem; font-weight:800; color:var(--unc-ink);
	letter-spacing:0; line-height:1.3; margin-bottom:6px;
}
.mypage-header__desc {
	font-size:0.8125rem; color:var(--unc-ink-3); font-weight:500;
	margin:0; word-break:keep-all;
}

/* ===== Component: .mypage-actions (페이지 하단 버튼) = */
.mypage-actions {
	display:flex; gap:12px; margin-top:18px;
}
.mypage-actions .btn { flex:1; min-width:0; height:54px; }
.mypage-actions .btn-danger {
	background:var(--unc-danger, #E03131); color:#fff; border-color:transparent;
}
.mypage-actions .btn-danger:hover { background:#B81E1E; }

/* ===== Driver profiles ================================= */
.mypage-header--actions { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.mypage-header--actions > div { flex:1 1 auto; min-width:0; }
.mypage-header--actions .btn {
	flex:0 0 auto; width:auto; min-width:120px; white-space:nowrap;
}
.driver-profile-list { display:grid; gap:16px; }
.driver-profile-card { padding:22px; border:1px solid var(--unc-line); border-radius:18px; background:#fff; }
.driver-profile-card.is-default { border-color:var(--unc-brand); box-shadow:0 0 0 1px color-mix(in srgb, var(--unc-brand) 24%, transparent); }
.driver-profile-card__head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.driver-profile-card__head > div { display:flex; align-items:center; gap:8px; min-width:0; }
.driver-profile-card__head strong { font-size:1.05rem; }
.driver-profile-card__head > a { color:var(--unc-brand-strong); font-weight:700; }
.driver-profile-card__badge { padding:4px 8px; border-radius:999px; color:var(--unc-brand-strong); background:var(--unc-brand-soft); font-size:.75rem; font-weight:700; }
.driver-profile-card__details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; margin:18px 0 0; padding-top:16px; border-top:1px dashed var(--unc-line); }
.driver-profile-card__details div { display:flex; justify-content:space-between; gap:12px; }
.driver-profile-card__details dt { color:var(--unc-muted); }
.driver-profile-card__details dd { margin:0; text-align:right; font-weight:600; }
.driver-profile-card__actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.driver-profile-card__actions form { margin:0; }
.driver-profile-card__actions .btn { min-width:110px; height:42px; }
.driver-profile-empty { padding:44px 20px; border:1px dashed var(--unc-line); border-radius:18px; text-align:center; }
.driver-profile-empty p { margin-top:8px; color:var(--unc-muted); }
@media (max-width:640px) {
	.mypage-header--actions { align-items:stretch; flex-direction:column; }
	.mypage-header--actions .btn { width:100%; }
	.driver-profile-card { padding:18px; }
	.driver-profile-card__details { grid-template-columns:1fr; }
	.driver-profile-card__actions { justify-content:stretch; }
	.driver-profile-card__actions form, .driver-profile-card__actions .btn { flex:1; width:100%; }
}
/* 모바일에서도 가로 1줄 유지 — 의도된 디자인 */

/* ===== Component: .withdraw-notice (탈퇴 경고 박스) == */
.withdraw-notice {
	padding:18px 20px; border-radius:14px;
	background:#FFF4F4; border:1px solid #FFD3D3;
	margin-bottom:14px;
}
.withdraw-notice__title {
	display:block; font-size:0.875rem; font-weight:800; color:#B81E1E;
	margin-bottom:10px; letter-spacing:0;
}
.withdraw-notice ul {
	list-style:none; padding:0; margin:0;
	display:flex; flex-direction:column; gap:6px;
}
.withdraw-notice li {
	position:relative; padding-left:14px; list-style:none;
	font-size:0.8125rem; line-height:1.55; color:var(--unc-ink-2); font-weight:500;
	word-break:keep-all;
}
.withdraw-notice li::before {
	content:""; position:absolute; left:0; top:8px;
	width:4px; height:4px; border-radius:50%; background:#B81E1E;
}

/* ===== Component: .withdraw-reason (사유 라디오 리스트) === */
.withdraw-reason {
	list-style:none; padding:0; margin:0;
	display:flex; flex-direction:column; gap:8px;
}
.withdraw-reason li { list-style:none; }


/* ===== Component: .mypage-gate (회원정보 수정 본인 확인 게이트) === */
.mypage-gate {
	max-width:440px; margin:60px auto 40px;
	padding:44px 36px 36px; border:1px solid var(--unc-line); border-radius:18px;
	background:#fff; box-shadow:0 2px 10px rgba(15,42,18,0.04);
	text-align:center;
	display:flex; flex-direction:column; align-items:center;
}
.mypage-gate__icon {
	width:64px; height:64px; border-radius:50%;
	background:var(--unc-brand-soft);
	display:inline-flex; align-items:center; justify-content:center;
	margin-bottom:20px; position:relative;
}
.mypage-gate__icon::before {
	content:""; display:block; position:absolute;
	width:20px; height:18px; left:50%; top:54%;
	transform:translate(-50%,-50%);
	background:var(--unc-brand-strong);
	border-radius:3px;
}
.mypage-gate__icon::after {
	content:""; display:block; position:absolute;
	width:14px; height:14px; left:50%; top:36%;
	transform:translateX(-50%);
	border:3px solid var(--unc-brand-strong); border-bottom:0;
	border-top-left-radius:7px; border-top-right-radius:7px;
}
.mypage-gate__title {
	font-size:1.125rem; font-weight:800; color:var(--unc-ink);
	letter-spacing:0; line-height:1.4; margin-bottom:8px;
}
.mypage-gate__desc {
	font-size:0.8125rem; line-height:1.6; color:var(--unc-ink-3); font-weight:500;
	margin:0 0 22px; word-break:keep-all;
}
.mypage-gate__field {
	width:100%; max-width:340px;
}
.mypage-gate__error {
	width:100%; max-width:340px; margin:8px 0 0;
	font-size:0.75rem; color:var(--unc-danger, #E03131); font-weight:600; text-align:left;
}
.mypage-gate__action {
	width:100%; max-width:340px; height:50px; margin-top:14px;
}
@media (max-width:600px) {
	.mypage-gate { margin:24px auto; padding:32px 22px 28px; }
	.mypage-gate__title { font-size:1rem; }
}
