/* w2-events: BRO Day, on-spot awards, DGBR CC ID, cafe, marvels and gallery pages.
   DBIM 3.0: Noto Sans, blue primary group + functional palette only, left-aligned text. */

.w2-section-title { margin-bottom: 12px; }

/* ---------- list filter ---------- */
.w2-filter { max-width: 480px; margin: 16px 0; }
.w2-filter label { display: block; font-size: 16px; font-weight: 600; color: #150202; margin-bottom: 4px; }
.w2-filter .form-control { width: 100%; font-size: 16px; padding: 8px 12px; border: 1px solid #8E8E8E; border-radius: 4px; color: #150202; background: #fff; }
.w2-filter .form-control:focus { border-color: #214AAB; outline: 2px solid #5279D7; outline-offset: 1px; }
.w2-filter-count { font-size: 14px; color: #606060; margin: 4px 0 0; min-height: 21px; }

/* ---------- tables ---------- */
.w2-table-wrap { overflow-x: auto; margin-bottom: 24px; }
.w2-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.4; background: #fff; }
.w2-table caption { caption-side: top; text-align: left; font-size: 16px; font-weight: 600; color: #162F6A; padding: 0 0 8px; }
.w2-table thead th { background: #162F6A; color: #fff; text-align: center; vertical-align: middle; font-weight: 600; border: 1px solid #A3BBF3; padding: 8px 10px; }
.w2-table tbody th[scope="row"], .w2-table tbody td { text-align: left; font-weight: 400; color: #150202; border: 1px solid #C6C6C6; padding: 8px 10px; vertical-align: top; background: transparent; }
.w2-table tbody th.w2-num, .w2-table tbody td.w2-num { text-align: right; width: 1%; white-space: nowrap; }
.w2-table tbody tr:nth-child(even) td, .w2-table tbody tr:nth-child(even) th[scope="row"] { background: #EBEAEA; }
.w2-table tbody tr:hover td, .w2-table tbody tr:hover th[scope="row"] { background: #D2DFFF; }
.w2-table tbody tr.w2-group th { background: #D2DFFF; color: #162F6A; text-align: left; font-size: 16px; font-weight: 600; border: 1px solid #A3BBF3; padding: 8px 10px; }
.w2-table tbody tr[hidden] { display: none; }

@media (max-width: 767px) {
  .w2-table { font-size: 12px; }
  .w2-table caption, .w2-table tbody tr.w2-group th { font-size: 14px; }
}

/* ---------- galleries ---------- */
.w2-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; border-bottom: 2px solid #A3BBF3; }
.w2-tabs button { font-family: inherit; font-size: 16px; font-weight: 600; padding: 10px 20px; margin-bottom: -2px; color: #162F6A; background: #fff; border: 2px solid transparent; border-bottom: 0; border-radius: 4px 4px 0 0; cursor: pointer; }
.w2-tabs button:hover { background: #D2DFFF; }
.w2-tabs button:focus-visible { outline: 3px solid #0D6EFD; outline-offset: 2px; }
.w2-tabs button[aria-selected="true"] { color: #fff; background: #162F6A; border-color: #162F6A; }
.w2-tabs button:disabled { color: #8E8E8E; cursor: not-allowed; }

.w2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 991px) { .w2-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .w2-grid { grid-template-columns: 1fr; } }
.w2-card { height: 100%; background: #fff; border: 1px solid #C6C6C6; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.w2-card:hover { border-color: #214AAB; box-shadow: 0 2px 8px rgba(21, 2, 2, 0.15); }
.w2-card a.w2-thumb { display: block; position: relative; background: #EBEAEA; }
.w2-card a.w2-thumb:focus-visible { outline: 3px solid #0D6EFD; outline-offset: -3px; }
.w2-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.w2-card .w2-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.w2-card .w2-play span { width: 56px; height: 56px; border-radius: 50%; background: #162F6A; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.w2-card .w2-caption { padding: 12px 16px; font-size: 16px; line-height: 1.4; color: #150202; text-align: left; margin: 0; }
.w2-empty { padding: 16px 0; color: #606060; }

/* ---------- CMS driven content (BRO marvels) ---------- */
.w2-cms img { max-width: 100%; height: auto; }
.w2-cms section.container { max-width: 100%; padding-left: 0; padding-right: 0; }

@media (max-width: 767px) { .w2-table { font-size: 14px; } }
