/* Company profile template. Shared visual values come from redesign-details.css. */
body[data-page="directory"][data-detail="company"] .co-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 48px; align-items: center; }
body[data-detail="company"] .co-hero-copy { min-inline-size: 0; }
body[data-detail="company"] .co-hero h1 { max-inline-size: 23ch; }
body[data-detail="company"] .co-hero-copy>p { color: #d8d8d8; font-size: 18px; line-height: 1.6; }
body[data-detail="company"] .co-photo { margin: 0; overflow: hidden; border-radius: 4px; background: #f3f3f5; color: #666; }
body[data-detail="company"] .co-photo img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16/10; object-fit: cover; }
body[data-detail="company"] .co-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 28px; }
body[data-detail="company"] .co-actions .btn { font-size: 14px; padding-inline: 16px; }
body[data-detail="company"] .co-section-nav { background: #f3f3f5; border-block-end: 1px solid #d8d8d8; }
body[data-detail="company"] .co-section-nav>.wrap { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-block: 12px; }
body[data-detail="company"] .co-section-nav a { display: inline-flex; align-items: center; min-block-size: 44px; font-size: 14px; color: #454545; text-decoration: none; }
body[data-detail="company"] .co-section-nav a:hover { color: #e60015; }
body[data-detail="company"] .co-body-grid { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(300px,1fr); gap: 48px; align-items: start; }
body[data-detail="company"] .co-body-grid>* { min-inline-size: 0; }
body[data-detail="company"] .co-main { display: grid; gap: 44px; }
body[data-detail="company"] .co-main .prose { color: #454545; font-size: 16px; line-height: 1.8; }
body[data-detail="company"] .co-main .prose p+p { margin-block-start: 16px; }
body[data-detail="company"] .co-main p { font-size: 16px; line-height: 1.75; }
body[data-detail="company"] .co-side { display: grid; gap: 24px; }
body[data-detail="company"] .co-side dl { font-size: 16px; line-height: 1.6; }
body[data-detail="company"] .co-side dl>div { padding-block: 12px !important; gap: 20px; }
body[data-detail="company"] .co-side dt { flex: 0 0 42%; }
body[data-detail="company"] .co-side dd { min-inline-size: 0; font-family: inherit; text-align: end; font-weight: 500 !important; }
body[data-detail="company"] .co-side .badge-row { gap: 8px; }
body[data-detail="company"] .co-side .badge { max-inline-size: 100%; white-space: normal; overflow-wrap: anywhere; }
body[data-detail="company"] .co-side .co-contact-card { background: #0d0d0d; color: #fff; }
body[data-detail="company"] .co-contact-card .detail-card-title { color: #fff; }
body[data-detail="company"] .co-contact-card p { color: #d8d8d8; font-size: 16px !important; line-height: 1.6; }
body[data-detail="company"] .co-side .link-more { font-size: 16px; }
body[data-detail="company"] .co-gallery-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; border-block-end: 1px solid #d8d8d8; padding-block-end: 16px; }
body[data-detail="company"] .co-gallery-heading .detail-section-title { border: 0; padding: 0; margin: 0; }
body[data-detail="company"] .co-gallery-heading>span { font-size: 14px; line-height: 1.5; }
body[data-detail="company"] .co-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-block-start: 24px; }
body[data-detail="company"] .co-gallery-item { margin: 0; min-inline-size: 0; cursor: pointer; border: 1px solid #d8d8d8; border-radius: 4px; overflow: hidden; background: #f3f3f5; }
body[data-detail="company"] .co-gallery-item:hover { border-color: #0d0d0d; }
body[data-detail="company"] .co-gallery-item:focus-visible { outline: 3px solid #e60015; outline-offset: 4px; }
body[data-detail="company"] .co-gallery-thumb-wrap { position: relative; aspect-ratio: 4/3; overflow: hidden; background: #eee; }
body[data-detail="company"] .co-gallery-thumb-wrap img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
body[data-detail="company"] .co-gallery-item[data-media-kind="product"] .co-gallery-thumb-wrap { background: #fff; }
body[data-detail="company"] .co-gallery-item[data-media-kind="product"] .co-gallery-thumb-wrap img { object-fit: contain; padding: 12px; }
body[data-detail="company"] .co-gallery-badge { position: absolute; inset-inline-start: 8px; inset-block-end: 8px; background: #0d0d0d; color: #fff; padding: 4px 8px; max-inline-size: calc(100% - 16px); font-size: 12px; line-height: 1.5; border-radius: 4px; }
body[data-detail="company"] .co-gallery-item figcaption { padding: 12px; font-size: 14px; line-height: 1.5; color: #666; }
body[data-detail="company"] .lightbox-dialog { border: 0; border-radius: 4px; padding: 0; max-inline-size: min(92vw,1100px); max-block-size: 90dvh; background: #fff; color: #0d0d0d; box-shadow: 0 24px 80px #0006; }
body[data-detail="company"] .lightbox-dialog::backdrop { background: #0d0d0de6; }
body[data-detail="company"] .lightbox-dialog__content { position: relative; display: flex; flex-direction: column; align-items: center; }
body[data-detail="company"] .lightbox-dialog__close { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; inline-size: 44px; block-size: 44px; display: grid; place-items: center; border: 1px solid #d8d8d8; border-radius: 4px; background: #fff; color: #0d0d0d; font-size: 28px; line-height: 1; cursor: pointer; z-index: 2; }
body[data-detail="company"] .lightbox-dialog__close:hover { background: #f3f3f5; }
body[data-detail="company"] .lightbox-dialog__img { display: block; max-inline-size: 100%; max-block-size: 72dvh; object-fit: contain; background: #0d0d0d; }
body[data-detail="company"] .lightbox-dialog__footer { inline-size: 100%; padding: 20px 24px; border-block-start: 1px solid #d8d8d8; }
body[data-detail="company"] .lightbox-dialog__caption { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
@media (max-width:1000px) {
  body[data-page="directory"][data-detail="company"] .co-hero-grid { gap: 28px; }
  body[data-detail="company"] .co-body-grid { grid-template-columns: minmax(0,1.5fr) minmax(260px,1fr); gap: 28px; }
  body[data-detail="company"] .co-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-detail="company"] .co-side dl>div { flex-direction: column; gap: 4px; }
  body[data-detail="company"] .co-side dd { text-align: start; }
}
@media (max-width:760px) {
  body[data-page="directory"][data-detail="company"] .co-hero-grid,body[data-detail="company"] .co-body-grid { grid-template-columns: 1fr; }
  body[data-detail="company"] .co-hero h1 { max-inline-size: none; }
  body[data-detail="company"] .co-hero-copy>p { font-size: 16px; }
  body[data-detail="company"] .co-photo { max-inline-size: 640px; }
  body[data-detail="company"] .co-section-nav>.wrap { gap: 4px 24px; }
  body[data-detail="company"] .co-side dl>div { flex-direction: row; gap: 16px; }
  body[data-detail="company"] .co-side dd { text-align: end; }
  body[data-detail="company"] .co-main { gap: 36px; }
}
@media (max-width:420px) {
  body[data-detail="company"] .co-actions .btn { flex: 1 1 100%; }
  body[data-detail="company"] .co-gallery-grid { gap: 12px; }
  body[data-detail="company"] .co-gallery-item figcaption { padding: 10px; font-size: 14px; }
  body[data-detail="company"] .co-gallery-badge { font-size: 12px; padding: 4px 6px; inset-inline-start: 5px; inset-block-end: 5px; max-inline-size: calc(100% - 10px); }
}
