/* InteriorBabu Suite — front-end styles. Reuses theme tokens where present. */

.ibs-form-wrap { max-width: 720px; margin: 0 auto; }
.ibs-form { display: grid; gap: 16px; }
.ibs-form label { display: block; font-weight: 600; font-size: .92rem; color: #2a2a2a; }
/* Self-contained field styling so every input type (incl. url/file) is styled
   consistently and doesn't depend on the theme's per-type selector list. */
.ibs-form input,
.ibs-form select,
.ibs-form textarea {
	width: 100%;
	margin-top: 6px;
	padding: 13px 16px;
	border: 1px solid #e6e2db;
	border-radius: 10px;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	color: #2a2a2a;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.ibs-form input:focus,
.ibs-form select:focus,
.ibs-form textarea:focus {
	outline: none;
	border-color: #9a7d52;
	box-shadow: 0 0 0 3px rgba(154, 125, 82, .18);
}
.ibs-form input[type="file"] { padding: 10px 12px; background: #faf9f7; }
.ibs-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ibs-form .ibs-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ibs-form button[type="submit"] { justify-self: start; }
.ibs-form__msg { margin: 0; font-size: .92rem; min-height: 1.2em; }
.ibs-form__msg.is-ok { color: #1a7a4c; }
.ibs-form__msg.is-error { color: #b32d2e; }

/* Partner invite banner on city pages */
.ibs-partner-invite {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	margin: 40px 0 0; padding: 28px 32px; border-radius: 16px;
	background: linear-gradient(135deg, #2a2a2a, #1a1a1a); color: #fff;
}
.ibs-partner-invite h3 { color: #fff; margin: 0 0 6px; font-size: 1.3rem; }
.ibs-partner-invite p { color: rgba(255,255,255,.8); margin: 0; }

/* Careers */
.ibs-careers__heading { margin: 36px 0 18px; }
.ibs-careers__list { display: grid; gap: 18px; }
.ibs-job { border: 1px solid #e6e2db; border-radius: 16px; padding: 24px 26px; background: #fff; }
.ibs-job__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.ibs-job__title { margin: 0 0 4px; font-size: 1.25rem; }
.ibs-job__meta { margin: 0; color: #6a5338; font-size: .9rem; font-weight: 600; }
.ibs-job__desc { margin-top: 12px; color: #4a4a4a; }
.ibs-job__apply { margin-top: 20px; padding-top: 20px; border-top: 1px dashed #e6e2db; }
.ibs-careers-empty { padding: 30px; background: #f4f2ef; border-radius: 16px; text-align: center; }
.ibs-job__title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ibs-job__title a { color: inherit; }
.ibs-job__title a:hover { color: #6a5338; }
.ibs-job__status { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 3px 10px; border-radius: 999px; }
.ibs-job__status--open { background: #e6f6ec; color: #1a7a4c; }
.ibs-job__status--expired { background: #fdeaea; color: #b32d2e; }
.ibs-job__more { margin: 12px 0 0; }
.ibs-job__more a { font-weight: 600; color: #6a5338; }
.ibs-job__closed { margin-top: 14px; font-weight: 600; color: #b32d2e; }

/* Single opening detail */
.ibs-job-detail__meta { list-style: none; padding: 0; margin: 0 0 8px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
.ibs-job-detail__meta li { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; background: #f4f2ef; border-radius: 12px; }
.ibs-job-detail__meta span { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #6a5338; }
.ibs-job-detail__meta strong { font-size: 1.02rem; }
@media (max-width: 600px) { .ibs-job-detail__meta { grid-template-columns: 1fr; } }

@media (max-width: 600px) {
	.ibs-form__row { grid-template-columns: 1fr; }
	.ibs-partner-invite { padding: 22px; }
}
