/* sezon Business — account, sign-in and sign-up pages. Uses the theme's tokens (--purple, --orange, --line…). */

.sb-narrow { max-width: 620px; margin: 0 auto; padding-top: 40px; padding-bottom: 96px; }
.sb-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 32px; }
.sb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.sb-form { display: grid; gap: 18px; }
.sb-field { display: grid; gap: 6px; min-width: 0; }
.sb-label, .sb-sub > span { font-size: 13.5px; font-weight: 700; }
.sb-req { color: var(--orange-dark); }
.sb-help { font-size: 13px; color: var(--muted); line-height: 1.5; }
.sb-error { font-size: 13px; color: var(--danger); font-weight: 600; }
.sb-form input[type="text"], .sb-form input[type="email"], .sb-form input[type="tel"], .sb-form input[type="url"], .sb-form input[type="number"], .sb-form input[type="password"], .sb-form select, .sb-form textarea, .sb-filter select {
	width: 100%; min-height: 50px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; font-size: 16px; color: var(--ink);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.sb-form textarea { padding: 12px 14px; line-height: 1.6; resize: vertical; }
.sb-form select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236E6A78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
.sb-form input:focus, .sb-form select:focus, .sb-form textarea:focus { outline: none; border-color: var(--purple); box-shadow: 0 0 0 4px rgba(135, 46, 152, .14); }
.sb-field.is-invalid input, .sb-field.is-invalid select, .sb-field.is-invalid textarea { border-color: var(--danger); }
.sb-check { display: flex; align-items: flex-start; gap: 12px; font-size: 14.5px; line-height: 1.5; cursor: pointer; }
.sb-check input { width: 20px; height: 20px; min-height: 0; margin-top: 1px; flex: none; accent-color: var(--purple); }
.sb-check a { color: var(--purple); text-decoration: underline; text-underline-offset: 2px; }
.sb-promo { padding: 16px; border: 1.5px solid var(--line); border-radius: 16px; background: #FBFAFC; }
.sb-promo:has(input:checked) { border-color: var(--orange); background: #FFF7EA; }
.sb-promo strong { display: block; font-size: 15px; }
.sb-promo em { display: block; font-style: normal; font-size: 13.5px; color: var(--muted); margin-top: 2px; }
.sb-password { position: relative; }
.sb-password input { padding-right: 70px; }
.sb-eye { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); padding: 6px 10px; border-radius: 8px; font-size: 13px; font-weight: 700; color: var(--purple); }
.sb-eye:hover { background: var(--purple-tint); }
.sb-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.sb-link { font-size: 14px; font-weight: 700; color: var(--purple); }
.sb-link:hover { text-decoration: underline; }
.sb-submit { height: 54px; font-size: 15px; width: 100%; border-radius: 16px; }
.sb-switch { text-align: center; font-size: 14.5px; color: var(--muted); }
.sb-switch a { color: var(--purple); font-weight: 700; }
.sb-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 8px; }
.sb-actions .sb-submit { width: auto; padding: 0 32px; }
.sb-salary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.sb-sub { display: grid; gap: 6px; }
.sb-sub > span { font-weight: 600; color: var(--muted); font-size: 12.5px; }

.sb-notice { padding: 14px 16px; border-radius: 14px; font-size: 14.5px; line-height: 1.5; margin-bottom: 18px; }
.sb-notice--success { background: #E6F4EA; color: #146C2E; }
.sb-notice--info { background: var(--purple-tint); color: var(--purple-dark); }
.sb-notice--error { background: var(--danger-tint); color: var(--danger); font-weight: 600; }
.sb-notice a { color: inherit; font-weight: 700; text-decoration: underline; }

/* perks */
.sb-perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sb-perk { display: grid; gap: 8px; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 14px; }
.sb-perk.is-on, .sb-perk:has(input[type="checkbox"]:checked) { border-color: var(--purple); background: #FBF7FC; }
.sb-perk .sb-check { font-weight: 700; align-items: center; }
.sb-perk .ic { width: 20px; height: 20px; color: var(--purple); }
.sb-perk input[type="text"] { min-height: 42px; font-size: 14px; }

/* images */
.sb-image { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sb-image-preview:empty { display: none; }
.sb-image-preview img { display: block; width: 160px; height: 110px; object-fit: contain; border: 1px solid var(--line); border-radius: 12px; background: #FBFAFC; }
.sb-field--image[data-field="logo"] .sb-image-preview img { width: 110px; height: 110px; }
.sb-image-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sb-file-btn { position: relative; overflow: hidden; cursor: pointer; height: 44px; padding: 0 20px; font-size: 14px; }
.sb-file-btn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; min-height: 0; }
.sb-file-btn:has(input:focus-visible) { outline: 2px solid var(--orange); outline-offset: 3px; }
.sb-remove { font-size: 13.5px; color: var(--danger); }
.sb-gallery { display: grid; gap: 12px; }
.sb-gallery-list { display: flex; flex-wrap: wrap; gap: 8px; }
.sb-gallery-list:empty { display: none; }
.sb-gallery-list li { position: relative; width: 104px; height: 104px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: #FBFAFC; cursor: grab; }
.sb-gallery-list li:first-child { width: 216px; }
.sb-gallery-list li.is-new { outline: 2px dashed var(--purple); outline-offset: -2px; }
.sb-gallery-list img { width: 100%; height: 100%; object-fit: cover; }
.sb-gallery-list li.is-dragging { opacity: .5; }
.sb-gallery-remove, .sb-row-remove { width: 28px; height: 28px; border-radius: 50%; background: rgba(20, 18, 26, .7); color: #fff; font-size: 18px; line-height: 1; display: grid; place-items: center; }
.sb-gallery-remove { position: absolute; top: 6px; right: 6px; }
.sb-gallery > .sb-file-btn { justify-self: start; }
.sb-videos { display: grid; gap: 10px; }
.sb-video-rows { display: grid; gap: 8px; }
.sb-video-rows:empty { display: none; }
.sb-video-row { display: flex; gap: 8px; align-items: center; }
.sb-video-row input { flex: 1; }
.sb-row-remove { flex: none; background: var(--grey); color: var(--ink); }
.sb-video-add { justify-self: start; height: 44px; padding: 0 20px; font-size: 14px; }

/* account layout */
.sb-account { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 40px; padding-bottom: 96px; }
.sb-tabs { display: grid; gap: 4px; position: sticky; top: calc(var(--hdr-h) + var(--admin-bar) + 24px); }
.sb-tab { display: block; padding: 12px 16px; border-radius: 12px; font-size: 15px; font-weight: 600; color: var(--muted); }
.sb-tab:hover { background: var(--grey); color: var(--ink); }
.sb-tab.is-active { background: var(--purple-tint); color: var(--purple); font-weight: 700; }
.sb-tab--link { margin-top: 12px; border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; padding-top: 18px; }
.sb-tab--out { color: var(--danger); }
.sb-panel { min-width: 0; }
.sb-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.sb-title { font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
.sb-panel > .sb-title { margin-bottom: 16px; }
.sb-back { display: inline-block; font-size: 14px; font-weight: 700; color: var(--purple); margin-bottom: 12px; }
.sb-filter select { min-height: 44px; min-width: 240px; font-size: 14px; }
.sb-empty { padding: 48px 24px; text-align: center; border: 1px dashed var(--line); border-radius: 20px; color: var(--muted); }

.sb-list { display: grid; gap: 12px; }
.sb-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.sb-item-main { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.sb-item-main h3 { flex-basis: 100%; font-size: 17px; font-weight: 800; letter-spacing: -.01em; line-height: 1.3; margin-top: 2px; overflow-wrap: break-word; }
.sb-meta, .sb-contact { flex-basis: 100%; font-size: 13.5px; color: var(--muted); }
.sb-contact { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.sb-contact a { color: var(--purple); font-weight: 700; }
.sb-cv::before { content: "↓ "; }
.sb-muted { color: var(--muted); }
.sb-item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; flex: none; }
.sb-item-actions .btn-outline, .sb-status-form select { height: 38px; min-height: 38px; font-size: 13px; }
.sb-status-form { align-items: center; }
.sb-status-form select { width: auto; padding: 0 36px 0 12px; }
.sb-danger { color: var(--danger); }
.sb-danger:hover { border-color: var(--danger) !important; }
.sb-status { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 12px; font-size: 12px; font-weight: 700; background: var(--grey); color: var(--muted); }
.sb-status--publish, .sb-status--app-contacted { background: #E6F4EA; color: #146C2E; }
.sb-status--pending, .sb-status--promo, .sb-status--app-new { background: #FEF3E2; color: #8A5300; }
.sb-status--sezon_expired, .sb-status--draft, .sb-status--app-rejected { background: var(--grey); color: var(--muted); }
.sb-item .badge { height: 24px; padding: 0 10px; border-radius: 12px; font-size: 10px; }

@media (max-width: 1100px) {
	.sb-account { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 28px; }
	.sb-tabs { position: static; display: flex; flex-wrap: wrap; gap: 6px; }
	.sb-tab { padding: 10px 14px; border: 1px solid var(--line); font-size: 14px; }
	.sb-tab--link { margin: 0; border-top: 1px solid var(--line); padding-top: 10px; border-radius: 12px; }
}
@media (max-width: 860px) {
	.sb-narrow { padding-top: 28px; padding-bottom: 72px; }
	.sb-card { padding: 24px 20px; border-radius: 20px; }
	.sb-salary, .sb-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sb-item { flex-direction: column; align-items: stretch; }
	.sb-item-actions { justify-content: flex-start; }
	.sb-actions .sb-submit { width: 100%; }
}
@media (max-width: 560px) {
	.sb-salary, .sb-perks { grid-template-columns: minmax(0, 1fr); }
	.sb-gallery-list li, .sb-gallery-list li:first-child { width: calc(50% - 4px); height: 120px; }
}
