/* MAWS build: fix-b4 — cache-bust marker (scoped to .maws-schedule) */
.maws-schedule{ --maws-build: "fix-b4"; }

/* DVS 7 MAWS — Mobile Accessible Web Schedule (core styles) */
/* Base */

/* Typography (base) */
.maws-schedule{ font-size:18px; line-height:1.6; }
.maws-schedule *{
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
.maws-schedule strong, .maws-schedule th{ font-weight:700; }

/* Screen-reader-only utility (scoped) */
.maws-schedule .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }

/* Skip link (scoped) */
.maws-schedule .skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.maws-schedule .skip-link:focus{ position:static; width:auto; height:auto; padding:.75rem 1rem; background:#ffff00; color:#000; font-weight:700; border:2px solid #000; outline:3px solid #005fcc; outline-offset:2px; }

/* Day navigation pills */
.maws-schedule .nav-list{ list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; margin:1rem auto; max-width:90ch; }
.maws-schedule #nav .nav-list a{ appearance:none; display:inline-block; padding:.375rem .625rem; border:2px solid #1a1a1a; border-radius:.5rem; background:#fff; color:#000; text-decoration:none; font-weight:600; line-height:1.1; }
.maws-schedule #nav .nav-list a:hover{ background:#f2f2f2; }

/* Scoped variables */
.maws-schedule{
	--focus: #005fcc;
	--border: #1a1a1a;
}
.maws-schedule #nav .nav-list a:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

/* Download buttons (same sizing as day pills) */
.maws-schedule #downloads ul{ list-style:none; padding:0; margin:.5rem 0 0; display:flex; gap:.75rem; flex-wrap:wrap; }
.maws-schedule #downloads p{ margin:0 0 .25rem 0; }
.maws-schedule #downloads{ max-width:90ch; margin:0 auto; padding:1rem; }
.maws-schedule .btn-download{
  appearance:none; display:inline-block; padding:.375rem .625rem;
  border:2px solid var(--border); border-radius:.5rem;
  background:#fdf6e3; color:#000; text-decoration:none; font-weight:600; line-height:1.1;
}
.maws-schedule .btn-download:hover{ background:#f2f2f2; }
.maws-schedule .btn-download:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

/* Scoped global-like defaults (only inside .maws-schedule) */
.maws-schedule,
.maws-schedule header,
.maws-schedule main,
.maws-schedule footer {
	background: #fdf6e3;
	color: #000;
	max-width: 100%;
	overflow-x: hidden;
}

/* Scoped anchor colours inside schedule only */
.maws-schedule a {
	color: #0645ad;
}
.maws-schedule a:hover,
.maws-schedule a:focus {
	color: #0b0080;
}
.maws-schedule :focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

/* Scoped page container sizing */
.maws-schedule header,
.maws-schedule main,
.maws-schedule footer {
	max-width: 90ch;
	margin: auto;
	padding: 1rem;
}

/* Table */
.maws-schedule .table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.maws-schedule table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
.maws-schedule table.responsive thead th {
	background: #efefef;
	color: #000;
	border: 1px solid #1a1a1a;
}
.maws-schedule table.responsive tbody td,
.maws-schedule table.responsive tbody th {
	border: 1px solid #1a1a1a;
}

/* Wrapping & hyphenation (incl. older iOS) */
.maws-schedule td[headers$="session"],
.maws-schedule td[headers$="track"],
.maws-schedule td[headers$="time"],
.maws-schedule td[headers$="warnings"],
.maws-schedule td[headers$="hosts"],
.maws-schedule table.responsive td .cell-value,
.maws-schedule ul.hostlist li {
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
}

/* Hosts as a plainlist */
.maws-schedule ul.hostlist {
	list-style: none;
	margin: 0;
	padding: 0;
}
.maws-schedule ul.hostlist li + li {
	margin-top: 0.125rem;
}

/* Notes (tz + structure) */
.maws-schedule .note {
	margin: 1rem 0;
	padding: 0.75rem 1rem;
	border: 2px solid #1a1a1a;
	background: #f7f7f7;
}

/* Local time line */
.maws-schedule .local-time {
	display: block;
}

/* Track badges (outlined pills — AAA compliant) */
.maws-schedule [class^="track-"], .maws-schedule [class*=" track-"]{
  display:inline-block; padding:.125rem .5rem; border:2px solid var(--border); border-radius:.5rem;
  background:#fff; color:#000; font-weight:800; line-height:1.1; letter-spacing:.02em; white-space:nowrap;
}
.maws-schedule .track-convention{ border-color:#1D3557; }
.maws-schedule .track-art{        border-color:#B00020; }
.maws-schedule .track-music{      border-color:#0B6B3A; }
.maws-schedule .track-games{      border-color:#5E35B1; }
.maws-schedule .track-interest{   border-color:#A66300; }
.maws-schedule .track-discord{    border-color:#5865F2; }

/* Content warning emphasis (keeps AAA contrast) */
.maws-schedule .content-warning{ font-weight:700; color:#7B4E1D; }

/* Mobile card view */
@media (max-width: 640px) {
	/* Cards */
	.maws-schedule table.responsive thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
	}
	.maws-schedule table.responsive tr {
		display: block;
		margin-block: 1rem;
		border: 2px solid #1a1a1a;
		border-radius: 12px;
		padding: 0.75rem;
		background: #fff;
		box-sizing: border-box;
	}

	/* Kill old box/zebra leftovers inside the card */
	.maws-schedule table.responsive tbody,
	.maws-schedule table.responsive tr:nth-child(odd),
	.maws-schedule table.responsive tr:nth-child(even),
	.maws-schedule table.responsive td,
	.maws-schedule table.responsive th {
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
		border-radius: 0 !important;
	}

	/* Label | value grid */
	.maws-schedule table.responsive td {
		display: grid;
		grid-template-columns: minmax(7ch, 10ch) minmax(0, 1fr);
		align-items: start;
		gap: 0.5rem;
		padding: 0.375rem 0;
	}
	.maws-schedule table.responsive td::before {
		content: attr(data-label);
		font-weight: 700;
	}

	/* Value column container */
	.maws-schedule table.responsive td .cell-value {
		display: block;
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
		-webkit-hyphens: auto;
		hyphens: auto;
	}

	/* Ensure Local: sits in the value column */
	.maws-schedule .local-time {
		grid-column: 2 / -1;
	}
}

/* Stop right-edge clipping from containers */
.maws-schedule details,
.maws-schedule .table-wrap {
	overflow: visible !important;
}

/* Hidden UID span (non-visible, non-intrusive) */
.maws-schedule .event-uid[hidden] {
	display: none !important;
}
.maws-schedule #filter-heading {
	color: black;
}
.maws-schedule blockquote {
	transform: rotate(-0.35deg);
}
/* Track filter chips — mirror badge colours, AAA-safe */
.maws-schedule #track-filter-form label.track-check {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.375rem 0.625rem;
	border: 2px solid #1a1a1a;
	border-radius: 0.5rem;
	background: #fff;
	color: #000;
	font-weight: 600;
	line-height: 1.1;
	margin: 0.125rem;
	border-left-width: 0.6rem; /* coloured stripe */
}
.maws-schedule #track-filter-form label.track-check:focus-within {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

/* Per-track colours via data attribute set by JS */
.maws-schedule #track-filter-form label.track-check[data-track="convention"] {
	border-left-color: #1d3557;
}
.maws-schedule #track-filter-form label.track-check[data-track="art"] {
	border-left-color: #b00020;
}
.maws-schedule #track-filter-form label.track-check[data-track="music"] {
	border-left-color: #0b6b3a;
}
.maws-schedule #track-filter-form label.track-check[data-track="games"] {
	border-left-color: #5e35b1;
}
.maws-schedule #track-filter-form label.track-check[data-track="interest"] {
	border-left-color: #a66300;
}
.maws-schedule #track-filter-form label.track-check[data-track^="discord"] {
	border-left-color: #5865f2;
}

/* Checkbox accent colours (broad support) */
.maws-schedule #track-filter-form input[name="track"][type="checkbox"][value="convention"] {
	accent-color: #1d3557;
}
.maws-schedule #track-filter-form input[name="track"][type="checkbox"][value="art"] {
	accent-color: #b00020;
}
.maws-schedule #track-filter-form input[name="track"][type="checkbox"][value="music"] {
	accent-color: #0b6b3a;
}
.maws-schedule #track-filter-form input[name="track"][type="checkbox"][value="games"] {
	accent-color: #5e35b1;
}
.maws-schedule #track-filter-form input[name="track"][type="checkbox"][value="interest"] {
	accent-color: #a66300;
}
.maws-schedule #track-filter-form input[name="track"][type="checkbox"][value^="discord"] {
	accent-color: #5865f2;
}

/* --- Hotfix: enforce card layout and spacing at <=900px --- */
@media (max-width: 900px) {
	.maws-schedule .table-wrap {
		border: 2px solid var(--border);
		margin-inline: 0;
	}
	.maws-schedule table.responsive {
		min-width: 0 !important;
		width: 100% !important;
		table-layout: fixed;
	}
	.maws-schedule table.responsive thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(1px, 1px, 1px, 1px) !important;
		clip-path: inset(50%) !important;
	}
	.maws-schedule table.responsive tr {
		display: block !important;
		margin-block: 1rem !important;
		border: 2px solid var(--border) !important;
		border-radius: 12px !important;
		padding: 0.75rem !important;
		background: #fff !important;
	}
	.maws-schedule table.responsive th,
	.maws-schedule table.responsive td {
		border: 0 !important;
		padding: 0.375rem 0 !important;
		background: transparent !important;
	}
	.maws-schedule table.responsive td {
		display: grid !important;
		grid-template-columns: minmax(7ch, 10ch) minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 0.5rem !important;
	}
	.maws-schedule table.responsive td::before {
		content: attr(data-label);
		font-weight: 700;
	}
	.maws-schedule .local-time {
		grid-column: 2 / -1;
	}
}

/* --- Mobile card hardening: ensure card layout always wins at <=900px --- */
@media (max-width: 900px) {
	.maws-schedule table.responsive {
		min-width: 0 !important;
		width: 100% !important;
		table-layout: fixed !important;
	}
	.maws-schedule table.responsive thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(1px, 1px, 1px, 1px) !important;
		clip-path: inset(50%) !important;
	}
	.maws-schedule table.responsive tr {
		display: block !important;
		margin-block: 1rem !important;
		border: 2px solid var(--border) !important;
		border-radius: 12px !important;
		padding: 0.75rem !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}
	.maws-schedule table.responsive td,
	.maws-schedule table.responsive th {
		border: 0 !important;
		background: transparent !important;
	}
	.maws-schedule table.responsive td {
		display: grid !important;
		grid-template-columns: minmax(7ch, 10ch) minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 0.5rem !important;
		padding: 0.375rem 0 !important;
	}
	.maws-schedule table.responsive td::before {
		content: attr(data-label) !important;
		font-weight: 700 !important;
	}
	.maws-schedule .local-time {
		grid-column: 2 / -1 !important;
	}
}

/* Day summary bar (accordion) - scoped */
.maws-schedule summary{
  display:block;
  /* padding:.75rem 1rem;
  margin:0;
  background:#e5e5e5;
  color:#000;
  border:2px solid var(--border);
  border-radius:.5rem;
  font-weight:800; */
}
.maws-schedule summary:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

/* Caret indicator */
.maws-schedule summary::marker{ content:""; } /* hide default triangle for consistent styling */
.maws-schedule summary::before{ content:"▸"; font-weight:800; margin-right:.5rem; }
.maws-schedule details[open] > summary::before{ content:"▾"; }

/* Space the day sections clearly */
.maws-schedule details{ margin-block:1.25rem; }

/* Wrap has a subtle panel feel without hurting contrast */
.maws-schedule .table-wrap{ padding: .75rem; background:#fafafa; border-radius:.5rem; }

/* Card separation + track accents (mobile) */
@media (max-width:900px){
  .maws-schedule table.responsive tr{ margin-block:1.25rem !important; border-left-width:.6rem !important; }

  .maws-schedule table.responsive tr[data-track="convention"]{ border-left-color:#1D3557 !important; }
  .maws-schedule table.responsive tr[data-track="art"]{        border-left-color:#B00020 !important; }
  .maws-schedule table.responsive tr[data-track="music"]{      border-left-color:#0B6B3A !important; }
  .maws-schedule table.responsive tr[data-track="games"]{      border-left-color:#5E35B1 !important; }
  .maws-schedule table.responsive tr[data-track="interest"]{   border-left-color:#A66300 !important; }
  .maws-schedule table.responsive tr[data-track^="discord"]{   border-left-color:#5865F2 !important; }
}
/* Mobile divider between session cards (scoped) */
@media (max-width:900px){
  .maws-schedule table.responsive tr{ position: relative; }
  .maws-schedule table.responsive tr + tr{ margin-top: 1.5rem !important; }
  .maws-schedule table.responsive tr + tr::before{
    content: "";
    position: absolute;
    top: -0.75rem; left: .5rem; right: .5rem;
    border-top: 2px dotted var(--border);
    pointer-events: none;
  }
}

/* Nav pills + download buttons — identical sizing/weight, guaranteed (scoped & enforced) */
.maws-schedule #nav .nav-list a{
  appearance:none !important; display:inline-block !important; padding:.375rem .625rem !important;
  border:2px solid var(--border) !important; border-radius:.5rem !important;
  background:#fff !important; color:#000 !important; text-decoration:none !important;
  font-weight:600 !important; line-height:1.1 !important;
}
.maws-schedule #nav .nav-list a:hover{ background:#f2f2f2 !important; }
.maws-schedule #nav .nav-list a:focus-visible{ outline:3px solid var(--focus) !important; outline-offset:2px !important; }

.maws-schedule #downloads ul{ list-style:none !important; padding:0 !important; margin:.5rem 0 0 !important; display:flex !important; gap:.75rem !important; flex-wrap:wrap !important; }
.maws-schedule #downloads p{ margin:0 0 .25rem 0 !important; }
.maws-schedule .btn-download{
  appearance:none !important; display:inline-block !important; padding:.375rem .625rem !important;
  border:2px solid var(--border) !important; border-radius:.5rem !important;
  background:#fff !important; color:#000 !important; text-decoration:none !important; font-weight:600 !important; line-height:1.1 !important;
}
.maws-schedule .btn-download:hover{ background:#f2f2f2 !important; }
.maws-schedule .btn-download:focus-visible{ outline:3px solid var(--focus) !important; outline-offset:2px !important; }

/* Track badges — outlined, AAA-safe on white (with colour dot) */
.maws-schedule [class^="track-"], .maws-schedule [class*=" track-"]{
  --chip: var(--border);
  display:inline-block !important;
  padding:.125rem .5rem .125rem .9rem !important;
  border:2px solid var(--border) !important;
  border-radius:.5rem !important;
  background:#fff !important; color:#000 !important;
  font-weight:800 !important; line-height:1.1 !important; letter-spacing:.02em !important; white-space:nowrap !important;
  position:relative !important;
}
.maws-schedule [class^="track-"]::before, .maws-schedule [class*=" track-"]::before{
  content:"" !important;
  position:absolute !important; left:.35rem !important; top:50% !important; transform:translateY(-50%);
  width:.55em !important; height:.55em !important; border-radius:50% !important;
  background: var(--chip) !important;
}
.maws-schedule .track-convention{ --chip:#1D3557 !important; border-color:#1D3557 !important; }
.maws-schedule .track-art{        --chip:#B00020 !important; border-color:#B00020 !important; }
.maws-schedule .track-music{      --chip:#0B6B3A !important; border-color:#0B6B3A !important; }
.maws-schedule .track-games{      --chip:#5E35B1 !important; border-color:#5E35B1 !important; }
.maws-schedule .track-interest{   --chip:#A66300 !important; border-color:#A66300 !important; }
.maws-schedule .track-discord{    --chip:#5865F2 !important; border-color:#5865F2 !important; }

/* Day accordion summary bar and marker (Safari friendly) - scoped */
.maws-schedule details > summary { 
	/* display:block !important; 
	padding:.75rem 1rem !important; 
	background:#e5e5e5 !important; 
	color:#000 !important; 
	border:2px solid var(--border) !important;
	 border-radius:.5rem !important;
	  font-weight:800 !important; 
		margin:0 0 .5rem 0 !important;  */
		background-size: 100% 100%;  /* Stretch image to fill entire list item */
  background-position: center;
  background-repeat: no-repeat;
  background-image: url('images/list-bg-1.png');
  padding: 40px 100px 40px 100px;
  color: #ff50c5;
  border-radius: 8px;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  justify-content: center;    /* center horizontally */
  align-items: center;        /* center vertically */
  text-align: center; 
  transition: transform 0.3s ease;
	}
.maws-schedule details > summary::-webkit-details-marker{ display:none !important; }
.maws-schedule summary::marker{ content:"" !important; }
.maws-schedule summary::before{ content:"▸" !important; font-weight:800 !important; margin-right:.5rem !important; }
.maws-schedule details[open] > summary::before{ content:"▾" !important; }

/* Mobile cards: enforce at small tablets too, with clear between-card divider */
@media (max-width:900px){
	.maws-schedule table.responsive tr[hidden] {
    display: none !important; /* Use !important to override the display: block */
  }
  .maws-schedule table.responsive{ width:100% !important; table-layout:fixed !important; }
  .maws-schedule table.responsive thead{ position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(1px,1px,1px,1px) !important; clip-path:inset(50%) !important; }
  .maws-schedule table.responsive tbody tr{ display:block !important; border:2px solid var(--border) !important; border-radius:12px !important; padding:.75rem !important; background:#fff !important; box-sizing:border-box !important; margin-block:1.25rem !important; border-left-width:.75rem !important; position:relative !important; }
  .maws-schedule table.responsive tbody tr + tr::before{ content:"" !important; position:absolute !important; left:.5rem !important; right:.5rem !important; top:-.9rem !important; border-top:2px dotted var(--border) !important; }
  .maws-schedule table.responsive tbody td{ display:grid !important; grid-template-columns:minmax(7ch,10ch) minmax(0,1fr) !important; gap:.5rem !important; align-items:start !important; padding:.375rem 0 !important; }
  .maws-schedule table.responsive tbody td::before{ content:attr(data-label) !important; font-weight:700 !important; }
  /* left accent by track */
  .maws-schedule table.responsive tbody tr[data-track="convention"]{ border-left-color:#1D3557 !important; }
  .maws-schedule table.responsive tbody tr[data-track="art"]{        border-left-color:#B00020 !important; }
  .maws-schedule table.responsive tbody tr[data-track="music"]{      border-left-color:#0B6B3A !important; }
  .maws-schedule table.responsive tbody tr[data-track="games"]{      border-left-color:#5E35B1 !important; }
  .maws-schedule table.responsive tbody tr[data-track="interest"]{   border-left-color:#A66300 !important; }
  .maws-schedule table.responsive tbody tr[data-track^="discord"]{   border-left-color:#5865F2 !important; }
}

/* Footer tidy (scoped) */
.maws-schedule .site-footer{ border-top:2px solid var(--border) !important; margin-top:2rem !important; padding-top:1rem !important; text-align:center !important; }

/* Cache-bust lock — ensure base typography inside .maws-schedule only */
/* .maws-schedule{ font-size:18px !important; line-height:1.6 !important; }
.maws-schedule, 
.maws-schedule button, 
.maws-schedule input, 
.maws-schedule select, 
.maws-schedule textarea{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased !important; -moz-osx-font-smoothing:grayscale !important;
  color:#000 !important; background:#fff !important;
} */
