/* Shared Bot, Network, and Data Center directory styles. */

/*
 * Main directory archives intentionally use the established Data Center Map
 * command-bar geometry. Secondary filters and explanatory copy are overlays,
 * so the permanent interface remains one compact row.
 */
.bc-directory-command-shell {
	position: relative;
	z-index: 30;
}
.bc-directory-commandbar { z-index: 40; }
.bc-directory-commandbar__identity h1 { overflow: hidden; text-overflow: ellipsis; }
.bc-directory-mobile-search-toggle,
.bc-directory-mobile-search-close { display: none; }
.bc-directory-command--results { cursor: default; }
.bc-directory-disclosure {
	position: static;
	min-width: 0;
}
.bc-directory-disclosure > summary {
	list-style: none;
}
.bc-directory-disclosure > summary::-webkit-details-marker { display: none; }
.bc-directory-overlay {
	position: absolute;
	top: calc(100% + .5rem);
	right: max(var(--bc-gutter), calc((100vw - var(--bc-rail)) / 2));
	z-index: 80;
	max-height: min(560px, calc(100vh - 110px));
	overflow-y: auto;
	color: var(--bc-text);
	background: #fff;
	border: 1px solid var(--bc-border);
	border-radius: 10px;
	box-shadow: 0 18px 48px rgba(17,24,39,.25);
}
.bc-directory-filter-panel {
	width: min(760px, calc(100vw - (2 * var(--bc-gutter))));
	padding: 1rem;
}
.bc-directory-filter-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .8rem;
}
.bc-directory-filter-panel__head strong {
	font-size: .95rem;
	line-height: 1.25;
}
.bc-directory-filter-panel__head span {
	color: var(--bc-text-soft);
	font-size: .72rem;
	font-weight: 750;
}
.bc-directory-filter-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
	gap: .75rem;
	min-width: 0;
}
.bc-directory-filter-field { min-width: 0; }
.bc-directory-filter-field label {
	display: block;
	margin-bottom: .28rem;
	color: var(--bc-text-soft);
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .045em;
	text-transform: uppercase;
}
.bc-directory-filter-field select {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 40px;
	padding: .45rem .65rem;
	color: var(--bc-text);
	background: #fff;
	border: 1px solid var(--bc-border);
	border-radius: 8px;
	font-size: .8rem;
}
.bc-directory-filter-field select:focus-visible {
	border-color: var(--bc-accent);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(111,214,118,.18);
}
.bc-directory-filter-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .5rem;
	margin-top: .9rem;
	padding-top: .85rem;
	border-top: 1px solid var(--bc-border);
}
.bc-directory-filter-actions .bc-command {
	min-height: 40px;
}
.bc-directory-filter-reset {
	color: var(--bc-text);
	background: var(--bc-surface-alt);
	border-color: var(--bc-border);
}
.bc-directory-filter-reset:hover,
.bc-directory-filter-reset:focus-visible {
	color: var(--bc-text);
	background: #e9eef0;
	border-color: #cbd3d7;
}

.bc-directory-about__panel {
	width: min(440px, calc(100vw - (2 * var(--bc-gutter))));
	padding: 1.05rem 1.1rem;
}
.bc-directory-about__panel h2 {
	margin: 0 0 .65rem;
	font-size: 1.08rem;
}
.bc-directory-about__panel p {
	margin: 0;
	color: var(--bc-text-soft);
	font-size: .84rem;
	line-height: 1.52;
}
.bc-directory-about__panel a {
	display: inline-block;
	margin-top: .8rem;
	font-size: .84rem;
	font-weight: 800;
}

.bc-directory__body {
	padding-block: clamp(1.75rem, 4vw, 4rem);
}

/* Keep the directory no-results search inside the existing site rail. */
.bc-directory__body .bc-empty-state,
.bc-directory__body .bc-empty-state > *,
.bc-directory__body .bc-empty-state .bc-search-form { max-width: 100%; min-width: 0; }
.bc-directory__body .bc-empty-state .bc-search-form { width: min(100%, 760px); }
.bc-directory__body .bc-empty-state .bc-search-form__field { width: 0; min-width: 0; flex: 1 1 0; }
.bc-directory__body .bc-empty-state .bc-search-form__button { flex: 0 0 auto; }

@media (max-width: 1279px) {
	html.bc-js body.bc-directory-archive .bc-topbar,
	html.bc-js body.bc-directory-archive .bc-header { display: none; }

	html.bc-js .bc-directory-command-shell {
		min-height: calc(54px + env(safe-area-inset-top, 0px));
	}
	html.bc-js .bc-directory-commandbar {
		position: fixed;
		z-index: 9990;
		top: 0;
		right: 0;
		left: 0;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: .35rem;
		min-height: calc(54px + env(safe-area-inset-top, 0px));
		padding: calc(.35rem + env(safe-area-inset-top, 0px)) .5rem .35rem;
		background: rgba(14,19,22,.99);
		border-bottom: 1px solid rgba(255,255,255,.12);
		box-shadow: 0 2px 12px rgba(17,24,39,.22);
	}
	body.admin-bar .bc-directory-commandbar { top: 32px; }
	.bc-directory-commandbar__identity {
		align-items: center;
		gap: .5rem;
		min-width: 0;
		overflow: hidden;
	}
	.bc-directory-nav-toggle {
		display: grid;
		flex: 0 0 auto;
		place-items: center;
		width: 40px;
		height: 40px;
		padding: 0;
		color: #fff;
		background: rgba(255,255,255,.055);
		border: 1px solid rgba(255,255,255,.18);
		border-radius: 9px;
		cursor: pointer;
	}
	.bc-directory-nav-toggle:hover,
	.bc-directory-nav-toggle:focus-visible {
		color: #fff;
		background: rgba(255,255,255,.12);
	}
	.bc-directory-nav-toggle .bc-brand-logo__icon {
		width: 25px;
		height: 25px;
		flex-basis: 25px;
	}
	.bc-directory-commandbar__identity h1 {
		min-width: 0;
		margin: 0;
		overflow: hidden;
		font-size: 1rem;
		line-height: 1.12;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.bc-directory-commandbar__count { display: none; }
	.bc-directory-commandbar__actions { gap: .28rem; }
	.bc-directory-mobile-search-toggle { display: inline-flex; }
	.bc-directory-commandbar__actions .bc-directory-command {
		width: 40px;
		min-width: 40px;
		height: 40px;
		min-height: 40px;
		padding: 0;
	}
	/* Active filters need room for the icon and count badge; icon-only controls remain square. */
	.bc-directory-commandbar__actions .bc-directory-command--filters.is-active {
		width: auto;
		min-width: 58px;
		padding-inline: .42rem;
		gap: .24rem;
	}
	.bc-directory-command--filters.is-active .bc-icon,
	.bc-directory-command--filters.is-active .bc-command__badge { flex: 0 0 auto; }
	.bc-directory-command > span:not(.bc-command__badge),
	.bc-directory-command--results,
	.bc-directory-about,
	.bc-directory-command--primary { display: none; }
	.bc-directory-filters { display: block; }

	.bc-js .bc-directory-search { display: none; }
	.bc-directory-mobile-search-close {
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		color: var(--bc-text);
		background: transparent;
		border: 0;
		border-radius: 8px;
	}
	.bc-directory-mobile-search-close:hover,
	.bc-directory-mobile-search-close:focus-visible { background: var(--bc-surface-alt); }

	.bc-directory-commandbar.is-searching { grid-template-columns: minmax(0, 1fr); }
	.bc-directory-commandbar.is-searching .bc-directory-commandbar__identity,
	.bc-directory-commandbar.is-searching .bc-directory-commandbar__actions { display: none; }
	.bc-directory-commandbar.is-searching .bc-directory-search {
		display: flex;
		min-height: 42px;
		padding-inline: .25rem .55rem;
		border-radius: 9px;
	}
	.bc-directory-commandbar.is-searching .bc-directory-mobile-search-close { display: inline-flex; }
	.bc-directory-commandbar.is-searching .bc-directory-search > .bc-icon { display: none; }
	.bc-directory-search input {
		min-height: 40px;
		padding: .42rem .45rem;
		font-size: 16px;
	}

	.bc-directory-overlay {
		top: calc(100% + .35rem);
		right: .5rem;
		left: .5rem;
		width: auto;
		max-height: calc(100dvh - 74px - env(safe-area-inset-bottom, 0px));
	}
	.bc-directory-filter-panel { padding: .9rem; }
}

@media (max-width: 782px) {
	body.admin-bar .bc-directory-commandbar { top: 46px; }
}

@media (max-width: 720px) {
	.bc-directory-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
	.bc-directory-filter-grid { grid-template-columns: 1fr; }
	.bc-directory-filter-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (max-width: 420px) {
	.bc-directory-commandbar { padding-inline: .38rem; }
	.bc-directory-commandbar__identity { gap: .38rem; }
	.bc-directory-commandbar__identity h1 { font-size: .94rem; }
	.bc-directory-commandbar__actions { gap: .2rem; }
	.bc-directory-commandbar__actions .bc-directory-command,
	.bc-directory-nav-toggle {
		width: 38px;
		min-width: 38px;
		height: 38px;
		min-height: 38px;
	}
	.bc-directory-commandbar__actions .bc-directory-command--filters.is-active {
		width: auto;
		min-width: 56px;
		padding-inline: .38rem;
	}
	.bc-directory-overlay {
		right: .38rem;
		left: .38rem;
	}
}
.bc-record-hero { padding: clamp(3rem, 7vw, 6.5rem) 0; color: #fff; background: #17191b; }
.bc-record-hero h1 { color: #fff; }
.bc-record-hero p { color: #b8c1bc; }

.bc-record-hero__grid { display: grid; width: 100%; min-width: 0; grid-template-columns: auto minmax(0, 1fr) minmax(220px, auto); gap: clamp(1.2rem, 3vw, 2.5rem); align-items: center; }
.bc-record-hero__grid > * { min-width: 0; max-width: 100%; }
.bc-record-hero__icon { display: grid; place-items: center; width: 82px; height: 82px; color: #071208; background: var(--bc-accent); border-radius: 12px; }
.bc-record--network .bc-record-hero__icon { color: #fff; background: #293136; }
.bc-record-hero__icon .bc-icon { width: 42px; height: 42px; }
.bc-record-hero__content { min-width: 0; overflow-wrap: anywhere; }
.bc-record-hero__content h1 { margin-bottom: .25em; font-size: clamp(2.35rem, 5vw, 4.6rem); }
.bc-record-hero__eyebrow { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; color: var(--bc-accent); font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.bc-record-hero__eyebrow span { padding: .15rem .42rem; color: #071208; background: var(--bc-accent); border-radius: 999px; }
.bc-record-hero__content p { width: 100%; margin-bottom: .8rem; }
.bc-record-hero__content code { display: inline-block; max-width: 100%; padding: .45rem .6rem; overflow-wrap: anywhere; color: #dce6e1; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.13); border-radius: 5px; font-size: .82rem; }
.bc-record-hero__facts { width: 100%; max-width: 100%; min-width: 220px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 8px; }
.bc-record-hero__facts > div { padding: .85rem 1rem; background: rgba(255,255,255,.045); }
.bc-record-hero__facts > div + div { border-top: 1px solid rgba(255,255,255,.13); }
.bc-record-hero__facts span, .bc-record-hero__facts strong { display: block; }
.bc-record-hero__facts span { color: #87918c; font-size: .69rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.bc-record-hero__facts strong { margin-top: .18rem; overflow-wrap: anywhere; color: #fff; }
.bc-record__layout { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) var(--bc-sidebar); gap: clamp(2rem, 4vw, 4rem); align-items: start; padding-block: clamp(2.5rem, 6vw, 5.5rem); }
.bc-record__main { min-width: 0; }
.bc-record__aside { min-width: 0; }
.bc-record__sidebar-stack {
	display: grid;
	width: 100%;
	max-width: 100%;
	gap: 1rem;
	min-width: 0;
	--bc-sidebar-card-padding: 1.2rem;
	--bc-sidebar-card-radius: 9px;
	--bc-sidebar-card-background: var(--bc-surface-alt);
	--bc-sidebar-card-border: var(--bc-border);
	--bc-sidebar-card-title-size: 1.05rem;
	--bc-sidebar-card-body-size: .875rem;
	--bc-sidebar-card-label-size: .75rem;
	--bc-sidebar-card-note-size: .82rem;
	--bc-sidebar-card-line-height: 1.55;
	--bc-sidebar-card-muted: var(--bc-muted);
}
.bc-record-section + .bc-record-section { margin-top: 3rem; }
.bc-record-section > h2 { padding-bottom: .75rem; border-bottom: 1px solid var(--bc-border); font-size: 1.55rem; }
.bc-fact-list { margin: 0; border: 1px solid var(--bc-border); border-radius: 9px; overflow: hidden; }
.bc-fact-list > div { display: grid; grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); gap: 1rem; padding: .9rem 1rem; }
.bc-fact-list > div + div { border-top: 1px solid var(--bc-border); }
.bc-fact-list dt { color: var(--bc-text-soft); font-size: .78rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.bc-fact-list dd { min-width: 0; margin: 0; }
.bc-fact-list code { display: block; padding: .55rem .65rem; overflow-wrap: anywhere; white-space: pre-wrap; background: var(--bc-surface-alt); border-radius: 5px; font-size: .82rem; }
.bc-summary-card {
	position: static;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: var(--bc-sidebar-card-padding, 1.2rem);
	background: var(--bc-sidebar-card-background, var(--bc-surface-alt));
	border: 1px solid var(--bc-sidebar-card-border, var(--bc-border));
	border-radius: var(--bc-sidebar-card-radius, 9px);
	font-size: var(--bc-sidebar-card-body-size, .875rem);
	line-height: var(--bc-sidebar-card-line-height, 1.55);
}
.bc-summary-card h2 {
	margin: 0 0 .85rem;
	font-size: var(--bc-sidebar-card-title-size, 1.05rem);
	line-height: 1.25;
	letter-spacing: -.015em;
}
.bc-summary-card dl { margin: 0; }
.bc-summary-card dl > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
	align-items: baseline;
	gap: .75rem;
	padding: .625rem 0;
	border-top: 1px solid var(--bc-sidebar-card-border, var(--bc-border));
}
.bc-summary-card dl > div > * { min-width: 0; }
.bc-summary-card dt {
	color: var(--bc-sidebar-card-muted, var(--bc-muted));
	font-size: var(--bc-sidebar-card-label-size, .75rem);
	font-weight: 650;
	line-height: 1.4;
}
.bc-summary-card dd {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
	font-size: inherit;
	font-weight: 700;
	line-height: 1.4;
	text-align: right;
}

.bc-record__sidebar-stack > .bc-summary-card:only-child { position: sticky; top: 110px; }
.bc-record__sidebar-stack > .botcrawl-contribute-card {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
}
.bc-record-card__body { min-width: 0; }
.bc-record-card__location {
	display: flex;
	align-items: flex-start;
	gap: .4rem;
	margin: .45rem 0 0;
	color: var(--bc-text-soft);
	font-size: .82rem;
}
.bc-record-card__location .bc-icon { width: 15px; height: 15px; margin-top: .18rem; }
.bc-record-card__location span,
.bc-record-card__capacity { min-width: 0; overflow-wrap: anywhere; }
.bc-record-card__capacity { margin: .35rem 0 0; color: var(--bc-muted); font-size: .77rem; }
.bc-record-hero__location {
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	min-width: 0;
}
.bc-record-hero__location .bc-icon { width: 17px; height: 17px; margin-top: .22rem; }
.bc-record-hero__location span { min-width: 0; overflow-wrap: anywhere; }
.bc-record-card--data-center .bc-record-card__icon { color: #071208; background: var(--bc-accent); }

@media (max-width: 1100px) {
	.bc-record__layout { grid-template-columns: minmax(0, 1fr) minmax(260px, var(--bc-sidebar)); gap: 2rem; }
}
@media (max-width: 900px) {
	.bc-record-hero__grid { grid-template-columns: auto minmax(0, 1fr); }
	.bc-record-hero__facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bc-record-hero__facts > div + div { border-top: 0; border-left: 1px solid rgba(255,255,255,.13); }
	.bc-record__layout { grid-template-columns: minmax(0, 1fr); }
	.bc-record__aside,
	.bc-record__sidebar-stack,
	.bc-record__sidebar-stack > * { max-width: 100%; min-width: 0; }
	.bc-record__sidebar-stack > .bc-summary-card:only-child { position: static; }
}
@media (max-width: 720px) {
	.bc-record-hero__grid { grid-template-columns: 1fr; }
	.bc-record-hero__icon { width: 64px; height: 64px; }
	.bc-record-hero__icon .bc-icon { width: 32px; height: 32px; }
	.bc-record-hero__facts { grid-column: auto; min-width: 0; grid-template-columns: 1fr; }
	.bc-record-hero__facts > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
	.bc-fact-list > div { grid-template-columns: 1fr; gap: .35rem; }
}

.bc-summary-card__note {
	margin: .9rem 0 0;
	padding-top: .8rem;
	border-top: 1px solid var(--bc-sidebar-card-border, var(--bc-border, #dfe4e7));
	color: var(--bc-sidebar-card-muted, var(--bc-muted, #626c73));
	font-size: var(--bc-sidebar-card-note-size, .82rem);
	line-height: var(--bc-sidebar-card-line-height, 1.55);
}


.bc-record-lifecycle-notice {
	margin: 0 0 2rem;
	padding: 1rem 1.1rem;
	color: #412d00;
	background: #fff7d6;
	border: 1px solid #e8cf72;
	border-left: 4px solid #b88900;
	border-radius: 8px;
}
.bc-record-lifecycle-notice h2 {
	margin: 0 0 .35rem;
	font-size: 1.05rem;
}
.bc-record-lifecycle-notice p { margin: 0; }
