/* ==========================================================================
   BDL Firms — ল ফার্মের স্টাইল (প্ল্যান §২০-২৫)

   ⚠️ এই ফাইলে **শুধু নতুন ক্লাস**। ফার্মের পাতা, ডিরেক্টরি ও ড্যাশবোর্ড
   বাকি সব কিছুর জন্য `bdl-profiles.css` ও `bdl-accounts.css` এর বিদ্যমান
   ক্লাসই ব্যবহার করে — `.bdl-hero`, `.bdl-profile-grid`, `.bdl-panel`,
   `.bdl-grid-filters`, `.bdl-cards`, `.bdl-card`, `.bdl-pager`,
   `.bdl-sec`, `.bdl-table`, `.bdl-tiles`, `.bdl-todo`, `.bdl-gate`।

   কারণ: ফার্মের পাতা দেখতে আইনজীবীর পাতার মতোই হওয়া উচিত। আলাদা করে
   একই জিনিস লিখলে দুটো ধীরে ধীরে আলাদা হয়ে যেত, আর একটিতে কোনো সংশোধন
   (যেমন চেকবক্সের `flex-direction: row`) অন্যটিতে পৌঁছাত না।

   নির্ভরতা: `bdl-profiles.css` (CSS ভেরিয়েবলগুলো সেখানে)।
   ========================================================================== */

/* --------------------------------------------------------------------------
   ফার্মের পর্দার নেভিগেশন
   -------------------------------------------------------------------------- */

.bdl-firm-nav {
	margin: 0 0 1.4rem;
	border-bottom: 2px solid var(--bdl-line, #e3e6ea);
	/* মোবাইলে মেনু বেশি হলে পাশে সরে যায়, ভেঙে দুই লাইন হয় না। */
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.bdl-firm-nav ul {
	display: flex;
	gap: .2rem;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: max-content;
}

.bdl-firm-nav a {
	display: block;
	padding: .6rem 1rem;
	font-size: .95rem;
	color: var(--bdl-muted, #5d6673);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	white-space: nowrap;
}

.bdl-firm-nav a:hover {
	color: var(--bdl-navy, #0d1b2e);
}

.bdl-firm-nav li.is-now a {
	color: var(--bdl-navy, #0d1b2e);
	font-weight: 600;
	border-bottom-color: var(--bdl-gold, #c9a227);
}

/* --------------------------------------------------------------------------
   লোগো — প্রতিকৃতি নয়, তাই `contain`
   -------------------------------------------------------------------------- */

.bdl-firm-logo img {
	/*
	 * ⚠️ `object-fit: contain` — আইনজীবীর ছবিতে `cover` ব্যবহার হয়, কিন্তু
	 * লোগো কাটা পড়লে প্রতিষ্ঠানের নামই অর্ধেক হয়ে যায়।
	 */
	object-fit: contain;
	background: #fff;
	padding: 8px;
}

/* --------------------------------------------------------------------------
   ডিরেক্টরির ছাঁকনির শেষ সারি
   -------------------------------------------------------------------------- */

.bdl-firm-checks {
	margin-top: .6rem;
	align-items: end;
}

.bdl-firm-submit {
	display: flex;
	flex-direction: row;
	gap: .5rem;
	align-items: center;
	flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   অবস্থার বার ও ভূমিকা
   -------------------------------------------------------------------------- */

.bdl-status-bar {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	align-items: center;
	margin: 0 0 1.2rem;
}

.bdl-intro {
	margin: 0 0 1.4rem;
}

.bdl-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	align-items: center;
	margin: 1.2rem 0 0;
}

/* --------------------------------------------------------------------------
   অফিস (§২২)
   -------------------------------------------------------------------------- */

.bdl-office-list {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.bdl-office {
	border: 1px solid var(--bdl-line, #e3e6ea);
	border-radius: var(--bdl-radius, 14px);
	padding: 1rem 1.1rem;
	background: #fff;
}

.bdl-office.is-primary {
	border-color: var(--bdl-gold, #c9a227);
	box-shadow: var(--bdl-shadow, 0 3px 14px rgba(13, 27, 46, .07));
}

.bdl-office-name {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin: 0 0 .5rem;
	font-size: 1.05rem;
}

.bdl-office-addr,
.bdl-office-hours,
.bdl-office-contact,
.bdl-office-areas {
	margin: .3rem 0;
	font-size: .9rem;
	line-height: 1.6;
}

.bdl-office-addr {
	display: flex;
	gap: .4rem;
	align-items: start;
	color: var(--bdl-text, #2b2f36);
}

.bdl-office-addr .bdl-i {
	flex: none;
	margin-top: .25rem;
}

.bdl-office-hours,
.bdl-office-areas {
	color: var(--bdl-muted, #5d6673);
}

.bdl-office-contact {
	display: flex;
	flex-wrap: wrap;
	gap: .9rem;
}

/* অফিস ব্যবস্থাপনার ছক — মোবাইলে পাশে সরে, ভেঙে যায় না। */
.bdl-office-table {
	display: block;
	overflow-x: auto;
	white-space: nowrap;
}

.bdl-row-actions {
	display: flex;
	gap: .8rem;
	align-items: center;
	white-space: nowrap;
}

.bdl-linkbtn,
button.bdl-linkbtn {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: #a4242b;
	cursor: pointer;
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   টিম — পাবলিক পাতায় (§২৩)
   -------------------------------------------------------------------------- */

.bdl-team-list {
	display: grid;
	gap: .9rem;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.bdl-team-card {
	display: flex;
	gap: .8rem;
	align-items: center;
	border: 1px solid var(--bdl-line, #e3e6ea);
	border-radius: var(--bdl-radius, 14px);
	padding: .8rem;
	background: #fff;
}

.bdl-team-photo {
	flex: none;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	display: grid;
	place-items: center;
	background: var(--bdl-cream, #faf7f0);
}

.bdl-team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bdl-team-body {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	min-width: 0;
}

.bdl-team-name {
	font-size: .98rem;
	line-height: 1.4;
}

.bdl-team-role,
.bdl-team-office {
	font-size: .82rem;
	color: var(--bdl-muted, #5d6673);
}

/*
 * ⚠️ "প্রোফাইল নেই" লেখাটি **নিঃশব্দ নয়, দৃশ্যমান** — §২৩ এর
 * "where applicable" সদস্যদের নাম লিংক হয় না, আর কারণটি পাঠক যেন
 * বুঝতে পারেন। নইলে তিনি ক্লিক করার চেষ্টা করে ভাবতেন সাইটটি ভাঙা।
 */
.bdl-team-note {
	font-size: .76rem;
	color: var(--bdl-muted, #5d6673);
	font-style: italic;
}

/* --------------------------------------------------------------------------
   টিম ব্যবস্থাপনা — ড্যাশবোর্ডে (§২৫)
   -------------------------------------------------------------------------- */

.bdl-team-rows {
	display: grid;
	gap: 1rem;
	margin: 0 0 1.6rem;
}

.bdl-team-row {
	border: 1px solid var(--bdl-line, #e3e6ea);
	border-radius: var(--bdl-radius, 14px);
	padding: 1rem 1.1rem;
	background: #fff;
}

/* অপেক্ষায় থাকা আমন্ত্রণ চোখে পড়া দরকার — মালিক নইলে ভুলে যান। */
.bdl-team-row.bdl-status-invited {
	border-left: 4px solid var(--bdl-gold, #c9a227);
	background: #fffdf5;
}

.bdl-team-row.bdl-status-declined {
	border-left: 4px solid #a4242b;
	background: #fdf6f6;
	opacity: .85;
}

.bdl-team-row-head {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin: 0 0 .8rem;
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--bdl-line, #e3e6ea);
}

.bdl-team-status {
	font-size: .84rem;
	color: var(--bdl-muted, #5d6673);
}

/*
 * সদস্যের ফর্ম — ঘরগুলো পাশাপাশি, কিন্তু মোবাইলে এক কলামে।
 *
 * ⚠️ ধাপ ৪-এ ইনবক্সে ৯টি বোতামের দেয়াল মোবাইলে আসল তথ্য চাপা দিয়েছিল।
 * এখানে প্রতিটি সদস্যের নিচে একটি ফর্ম — গ্রিড না দিলে একই দশা হত।
 */
.bdl-team-form .bdl-field {
	margin-bottom: .7rem;
}

@media (min-width: 720px) {
	.bdl-team-form {
		display: grid;
		gap: 0 1rem;
		grid-template-columns: 1fr 1fr;
	}

	.bdl-team-form .bdl-field:has(.bdl-boxes),
	.bdl-team-form .bdl-form-actions {
		grid-column: 1 / -1;
	}
}

/* --------------------------------------------------------------------------
   ডিরেক্টরির কার্ড
   -------------------------------------------------------------------------- */

.bdl-firm-card .bdl-card-photo {
	display: grid;
	place-items: center;
	background: var(--bdl-cream, #faf7f0);
}

.bdl-firm-card .bdl-card-photo img {
	object-fit: contain;
	padding: 10px;
	background: #fff;
}
