/* Briny A11y Fixes */

/* Visually hidden text for screen readers (findings 6, 8, 9, 10). */
.briny-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* List-item wrappers around social icons must not change layout (finding 3). */
.soc-ico .briny-listitem {
	display: contents;
}

/* Carousel pause/play control (finding 5). */
.briny-carousel-toggle {
	display: inline-block;
	margin: 0 0 8px;
	padding: 6px 14px;
	font: inherit;
	font-size: 14px;
	line-height: 1.4;
	color: #1a1a1a;
	background: #f4f4f4;
	border: 1px solid #767676;
	border-radius: 4px;
	cursor: pointer;
}
.briny-carousel-toggle:hover {
	background: #e6e6e6;
}
.briny-carousel-toggle:focus-visible {
	outline: 3px solid #005fcc;
	outline-offset: 2px;
}

/* WCAG 2.4.7 Focus Visible: The7 removes outlines on focus site-wide.
   Restore a high-contrast indicator for keyboard users only (focus-visible),
   so mouse clicks don't show it. The double ring stays visible on light and
   dark backgrounds. Exhibit A, Operable #11. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px #fff !important;
}
.dark-bg a:focus-visible,
.footer a:focus-visible,
#footer a:focus-visible {
	outline-color: #ffd54a !important;
	box-shadow: 0 0 0 5px #000 !important;
}

/* ------------------------------------------------------------------
   HTML text menus (WCAG 1.4.5 Images of Text) – shared by the text
   blocks on /food-menu/, /beer-menu/ and /briny-hour/.
   ------------------------------------------------------------------ */
.briny-menu{max-width:1100px;margin:0 auto;padding:10px 0 30px;font-family:Poppins,"Helvetica Neue",Arial,sans-serif;color:#1a1a1a}
.briny-menu-narrow{max-width:640px}
.briny-menu h2{font-size:30px;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid #1a1a1a;padding-bottom:6px;margin:34px 0 14px}
.briny-menu h2:first-child{margin-top:0}
.briny-menu h2 .bm-rate{float:right;font-size:18px;letter-spacing:0;text-transform:none;font-weight:600}
.briny-menu .bm-note{font-size:14px;font-weight:600;text-transform:uppercase;margin:0 0 14px}
.briny-menu ul{list-style:none;margin:0;padding:0}
.briny-menu .bm-items li{margin:0 0 16px}
.briny-menu .bm-line{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:18px;text-transform:uppercase}
.briny-menu .bm-line .bm-dots{flex:1;border-bottom:2px dotted #1a1a1a;position:relative;top:-5px;min-width:24px}
.briny-menu .bm-desc{font-size:14px;line-height:1.45;margin:3px 0 0}
.briny-menu .bm-add{font-size:14px;font-weight:600;margin:3px 0 0}
.briny-menu .bm-simple li{font-weight:700;font-size:18px;text-transform:uppercase;margin:0 0 8px;padding-left:14px;position:relative}
.briny-menu .bm-simple li::before{content:"\2022";position:absolute;left:0}
.briny-menu .bm-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.briny-menu .bm-ribs{font-size:16px;font-weight:700;margin-left:auto;white-space:nowrap}
.briny-menu .bm-tag{display:inline-block;background:#3a9d23;color:#fff;font-size:11px;border-radius:12px;padding:2px 8px;margin-right:6px;vertical-align:middle}
.briny-menu .bm-footer{border-top:2px solid #1a1a1a;margin-top:30px;padding-top:12px;text-align:center;font-size:13px;font-weight:600;text-transform:uppercase}
.briny-menu .bm-promo{text-align:center;color:#2e7d1a;font-weight:800;font-size:22px;text-transform:uppercase;margin:24px 0}
@media (max-width:760px){.briny-menu .bm-cols{grid-template-columns:1fr}.briny-menu h2{font-size:24px}.briny-menu h2 .bm-rate{float:none;display:block}}

/* Live music schedule text list (/live-music-schedule/) – simple markup
   so it can be edited weekly: <li><strong>Day</strong> Act, time</li> */
.briny-menu .bm-schedule li{font-size:17px;line-height:1.5;margin:0 0 12px;padding:0 0 12px;border-bottom:1px dotted #999;text-transform:none;font-weight:400}
.briny-menu .bm-schedule li:last-child{border-bottom:0}
.briny-menu .bm-schedule li strong{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#2e7d1a;margin-bottom:2px}
.briny-menu .bm-schedule li br+em,.briny-menu .bm-schedule em{font-style:normal;color:#555}

/* ------------------------------------------------------------------
   Scanner-visible contrast (WAVE / axe). The7 paints the top bar with a
   separate .top-bar-bg layer that automated checkers can't see, so they
   report the white icons as white-on-white. Give the bar the same solid
   colour directly – visually identical, and now measurable.
   ------------------------------------------------------------------ */
.masthead .top-bar { background-color: #000; }

/* The7's visually-hidden text inherits white; it is invisible, but scanners
   still compute its contrast. Give it high-contrast colours. */
.screen-reader-text { color: #000 !important; background: #fff !important; }
