/* Ben Raines Trips Schedule — front end.
   Colours inherit from the page's custom properties where they exist,
   with fallbacks so the shortcode still looks right anywhere it lands. */

.bra-dates-label{
  font-size:.9rem;
  font-weight:600;
  color:var(--ink-soft, #47585E);
  margin:0 0 10px;
}

/* A grid, not a flex row. Flex items stretch to fill the last line, which
   is why three chips used to render as two normal ones and one very wide
   one underneath. Fixed tracks keep every chip the same size. */
.bra-dates{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin-bottom:14px;
}

.bra-date{
  display:block;
  padding:9px 15px;
  background:#fff;
  border:1px solid var(--line, #D6DACF);
  border-left:3px solid var(--gold, #C89B3C);
  border-radius:var(--r, 3px);
  text-decoration:none;
  color:var(--ink, #14262E);
  transition:border-color .12s ease, background .12s ease;
}
.bra-date:hover,
.bra-date:focus-visible{
  background:#FBF7EE;
  border-color:var(--gold-deep, #9A742A);
  border-left-color:var(--gold-deep, #9A742A);
}

.bra-d{ display:block; font-weight:600; font-size:.98rem; }
.bra-t{ display:block; font-size:.84rem; color:var(--ink-soft, #47585E); }

.bra-seats{ display:block; font-size:.8rem; color:var(--moss, #35543F); margin-top:2px; }
.bra-seats-low{ color:#9A3B1F; }

/* "See all dates" reveal */
.bra-all-dates > summary{
  cursor:pointer;
  list-style:none;
  display:inline-block;
  font-size:.95rem;
  font-weight:500;
  color:var(--ink, #14262E);
  border-bottom:1px solid var(--gold, #C89B3C);
  padding-bottom:2px;
}
.bra-all-dates > summary::-webkit-details-marker{ display:none; }
.bra-all-dates[open] > summary{ margin-bottom:14px; }
.bra-dates-more{ margin-bottom:0; }

.bra-cutoff-note{
  margin:14px 0 0;
  font-size:.88rem;
  line-height:1.5;
  max-width:56ch;
  color:var(--ink-soft, #47585E);
}
.bra-cutoff-note a{
  color:var(--ink, #14262E);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--gold, #C89B3C);
}

/* Sold out, or inside the booking window. Warm — you missed something good. */
.bra-all-full{
  padding:16px 18px;
  margin-bottom:16px;
  font-size:.95rem;
  color:var(--ink-soft, #47585E);
  background:#FBF7EE;
  border:1px solid var(--gold, #C89B3C);
  border-left:3px solid var(--gold, #C89B3C);
  border-radius:var(--r, 3px);
}
.bra-all-full strong{ color:var(--ink, #14262E); font-weight:600; }
.bra-all-full a{
  color:var(--ink, #14262E);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--gold-deep, #9A742A);
}

/* Nothing scheduled. Quiet. */
.bra-no-dates{
  padding:16px 18px;
  margin-bottom:16px;
  font-size:.95rem;
  color:var(--ink-soft, #47585E);
  border:1px dashed var(--line, #D6DACF);
  border-radius:var(--r, 3px);
}
.bra-no-dates strong{ color:var(--ink, #14262E); font-weight:600; }
.bra-no-dates a{ color:var(--ink, #14262E); text-decoration:underline; }

@media (max-width:820px){
  .bra-dates{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion:reduce){
  .bra-date{ transition:none; }
}

.bra-date:focus-visible,
.bra-all-dates > summary:focus-visible{
  outline:2px solid var(--gold-deep, #9A742A);
  outline-offset:3px;
}

/* ---------- destination selector ---------- */

/* Scoped to the block so these beat any theme margin on <p> and <select>. */
.bra-dates-block .bra-dates-label{ margin:0 0 6px; }
.bra-dates-block .bra-destination{ margin:0 0 28px; }

.bra-destination{
  display:block;
  width:100%;
  max-width:340px;
  padding:10px 12px;
  font:inherit;
  font-size:1rem;
  color:var(--ink, #14262E);
  background:#fff;
  border:1px solid var(--line, #D6DACF);
  border-left:3px solid var(--gold, #C89B3C);
  border-radius:var(--r, 3px);
}
.bra-destination:focus-visible{
  outline:2px solid var(--gold-deep, #9A742A);
  outline-offset:2px;
}

.bra-dates-label label{ cursor:pointer; }

/* A date the customer can't click yet, because no destination is chosen. */
.bra-date-waiting{
  opacity:.45;
  cursor:not-allowed;
}
.bra-date-waiting:hover{
  background:#fff;
  border-color:var(--line, #D6DACF);
  border-left-color:var(--gold, #C89B3C);
}
