/* ====================================================================
   MARCO BAY YACHT CLUB - The Events Calendar skin  (v2)
   Plugin: The Events Calendar (free) 6.16.2  |  Views V2 (Month / List / Day)
   --------------------------------------------------------------------
   INSTALL: save as
     wp-content/themes/salient-child/tribe-events/tribe-events.css
   TEC auto-loads this in ADDITION to its own styles. No enqueue, no PHP,
   update-safe (child theme).

   Matches the .mbyc-home brand system:
     navy #0b2a52 | navy-deep #071d3a | gold #c8932f | sea #1c6e8c
     sand #f6f2e9 | ink #1b2733 | ink-soft #46566a | line #e3ddd0
     Headings Fraunces, body Source Sans 3.

   v2 CHANGES (from client review):
     - Primary buttons + nav now NAVY OUTLINE (transparent fill, navy text),
       fill navy/white on hover. Quieter, readable. Aligned/sized to search bar.
     - Search bar: icon/placeholder overlap fixed, clean padding.
     - Month event chips: solid soft-filled blocks, full chip is the link,
       generous spacing so adjacent-day chips never touch. Easy to read 50+.
     - List view: date tag unified with the event card (one rounded shell,
       no square corners butting together).

   NO em dashes anywhere (house rule).
   ==================================================================== */

/* ---------- tokens (scoped to the calendar container) ---------- */
.tribe-common,
.tribe-events {
  --mbyc-navy:#0b2a52;
  --mbyc-navy-deep:#071d3a;
  --mbyc-sea:#1c6e8c;
  --mbyc-sand:#f6f2e9;
  --mbyc-paper:#ffffff;
  --mbyc-ink:#1b2733;
  --mbyc-ink-soft:#46566a;
  --mbyc-gold:#c8932f;
  --mbyc-red:#c0252c;
  --mbyc-line:#e3ddd0;
  --mbyc-radius:10px;
  /* shared control height so buttons + search align exactly */
  --mbyc-ctl-h:52px;
}

/* ---------- base typography ---------- */
.tribe-common {
  font-family:"Source Sans 3", Helvetica, Arial, sans-serif;
  color:var(--mbyc-ink);
}
.tribe-events .tribe-common-h1,
.tribe-events .tribe-common-h2,
.tribe-events .tribe-common-h3,
.tribe-events .tribe-common-h4,
.tribe-events .tribe-common-h5,
.tribe-events .tribe-common-h6,
.tribe-events .tribe-events-calendar-month__day-date,
.tribe-events h1, .tribe-events h2, .tribe-events h3 {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy);
  font-weight:600;
  font-variant-ligatures:no-common-ligatures no-discretionary-ligatures;
  font-feature-settings:"swsh" 0,"dlig" 0,"salt" 0;
}
.tribe-events .tribe-events-calendar-month__header-title,
.tribe-events .tribe-events-header__title {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy);
  letter-spacing:.01em;
}

/* ---------- the whole view: breathing room ---------- */
.tribe-events {
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

/* ====================================================================
   BUTTONS  (navy outline system: transparent fill + navy text,
   fills navy on hover). Sized to --mbyc-ctl-h so they align with search.
   Doubled selectors + !important needed to beat TEC defaults.
   ==================================================================== */
.tribe-events .tribe-common-c-btn,
.tribe-events a.tribe-common-c-btn,
.tribe-events button.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button {
  background-color:transparent !important;
  color:var(--mbyc-navy) !important;
  border:2px solid var(--mbyc-navy) !important;
  border-radius:6px !important;
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  height:var(--mbyc-ctl-h) !important;
  min-height:var(--mbyc-ctl-h) !important;
  padding:0 26px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
  transition:background .16s ease, color .16s ease;
}
.tribe-events .tribe-common-c-btn:hover,
.tribe-events a.tribe-common-c-btn:hover,
.tribe-events button.tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-search__button:hover {
  background-color:var(--mbyc-navy) !important;
  color:#fff !important;
}

/* "Subscribe to calendar" / iCal pill: same outline language */
.tribe-events .tribe-events-c-ical__link {
  background-color:transparent !important;
  color:var(--mbyc-navy) !important;
  border:2px solid var(--mbyc-navy) !important;
  border-radius:6px !important;
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700 !important;
  padding:12px 22px !important;
  box-shadow:none !important;
  transition:background .16s ease, color .16s ease;
}
.tribe-events .tribe-events-c-ical__link:hover {
  background-color:var(--mbyc-navy) !important;
  color:#fff !important;
}

/* ====================================================================
   SEARCH BAR  (fix icon/placeholder overlap, align height to buttons)
   ==================================================================== */
/* the whole search row: a little left breathing room inside its card,
   and a gap between the input and the Find Events button */
.tribe-events .tribe-events-c-search__input-group {
  padding-left:8px;
}
.tribe-events .tribe-events-c-search__input-control {
  position:relative;
  margin-right:14px;   /* gap before the Find Events button */
}
.tribe-events .tribe-events-c-search__input,
.tribe-events .tribe-common-form-control-text__input,
.tribe-events input[type="text"] {
  border:1px solid var(--mbyc-line) !important;
  border-radius:6px !important;
  font-family:"Source Sans 3", sans-serif !important;
  font-size:1.05rem !important;
  color:var(--mbyc-ink) !important;
  height:var(--mbyc-ctl-h) !important;
  /* extra LEFT padding so text clears the magnifier icon */
  padding:0 16px 0 46px !important;
  background-color:#fff !important;
}
.tribe-events .tribe-events-c-search__input:focus,
.tribe-events .tribe-common-form-control-text__input:focus {
  border-color:var(--mbyc-sea) !important;
  outline:none;
  box-shadow:0 0 0 3px rgba(28,110,140,.18) !important;
}
/* the magnifier icon: pin it left, vertically centered, never overlap text */
.tribe-events .tribe-events-c-search__input-control-icon-svg,
.tribe-events .tribe-common-svgicon--search,
.tribe-events .tribe-events-c-search__input-control .tribe-common-svgicon {
  position:absolute !important;
  left:15px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:18px !important;
  height:18px !important;
  color:var(--mbyc-ink-soft) !important;
  pointer-events:none;
}

/* ====================================================================
   DATE NAVIGATION BAR  (prev / next, "Today")  large tap targets
   ==================================================================== */
.tribe-events .tribe-events-c-nav {
  border-top:1px solid var(--mbyc-line);
  margin-top:10px;
  padding-top:14px;
}
.tribe-events .tribe-events-c-nav__list { gap:10px; }
.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__today {
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700 !important;
  font-size:1.02rem !important;
  color:var(--mbyc-navy) !important;
  background:transparent !important;
  border:2px solid var(--mbyc-navy) !important;
  border-radius:6px !important;
  padding:12px 20px !important;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  transition:background .16s ease, color .16s ease;
}
.tribe-events .tribe-events-c-nav__prev:hover,
.tribe-events .tribe-events-c-nav__next:hover,
.tribe-events .tribe-events-c-nav__today:hover {
  background:var(--mbyc-navy) !important;
  color:#fff !important;
}
.tribe-events .tribe-events-c-nav__prev:hover svg,
.tribe-events .tribe-events-c-nav__next:hover svg { color:#fff !important; }
.tribe-events .tribe-events-c-nav__prev:disabled,
.tribe-events .tribe-events-c-nav__next:disabled { opacity:.4; }

/* View switcher tabs (List / Month / Day) */
.tribe-events .tribe-events-c-view-selector__list-item-link {
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700;
  color:var(--mbyc-ink-soft) !important;
  font-size:1.02rem;
}
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events .tribe-events-c-view-selector__list-item-link:hover {
  color:var(--mbyc-navy) !important;
}
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
  border-bottom:3px solid var(--mbyc-gold);
}

/* ====================================================================
   MONTH VIEW GRID
   ==================================================================== */
.tribe-events .tribe-events-calendar-month__table {
  border-collapse:separate;
  border-spacing:0;
}

/* weekday header row */
.tribe-events .tribe-events-calendar-month__header-row { background:var(--mbyc-navy); }
.tribe-events .tribe-events-calendar-month__header { background:var(--mbyc-navy); border:none; }
.tribe-events .tribe-events-calendar-month__header-column-title {
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
  color:#eaf1f7 !important;
  padding:12px 0;
}
/* WEEKDAY LABELS: TEC's V2 header ships BOTH a full short-name and a
   single-letter version, showing one or the other by screen width.
   Force the full short name (Sun, Mon, Tue...) to show and hide the
   single-letter variant, so labels are never ambiguous for the 50+ demo. */
.tribe-events .tribe-events-calendar-month__header-column-title-mobile {
  display:none !important;
}
.tribe-events .tribe-events-calendar-month__header-column-title-desktop {
  display:inline !important;
}

/* day cells: more internal padding so chips never crowd the edges */
.tribe-events .tribe-events-calendar-month__day {
  border:1px solid var(--mbyc-line);
  background:var(--mbyc-paper);
  min-height:132px;
}
.tribe-events .tribe-events-calendar-month__day-cell { background:transparent; padding:8px 10px; }
/* date number: give it left padding so it never sits flush at the cell edge */
.tribe-events .tribe-events-calendar-month__day-date-link,
.tribe-events .tribe-events-calendar-month__day-date {
  padding-left:2px;
}
.tribe-events .tribe-events-calendar-month__day--past { background:#fbfaf6; }
.tribe-events .tribe-events-calendar-month__day--other-month { background:var(--mbyc-sand); opacity:.7; }

/* date number */
.tribe-events .tribe-events-calendar-month__day-date {
  font-family:"Fraunces", Georgia, serif !important;
  font-size:1.15rem !important;
  color:var(--mbyc-ink) !important;
  font-weight:600;
}

/* TODAY: gold ring */
.tribe-events .tribe-events-calendar-month__day--current {
  background:#fffdf7;
  box-shadow:inset 0 0 0 2px var(--mbyc-gold);
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date {
  color:var(--mbyc-navy) !important;
}

/* EVENT CHIPS: solid soft-filled blocks, full chip is the tap target,
   clear spacing so adjacent-day chips never touch. */
.tribe-events .tribe-events-calendar-month__calendar-events-list {
  margin-top:6px;
}
.tribe-events .tribe-events-calendar-month__calendar-event {
  background:#eef3f6 !important;
  border:none !important;
  border-left:none !important;
  border-radius:6px;
  padding:7px 10px;
  margin:0 2px 7px !important;     /* horizontal inset + vertical gap */
  overflow:hidden;
  transition:background .15s ease;
}
.tribe-events .tribe-events-calendar-month__calendar-event:hover { background:#e3edf2 !important; }
.tribe-events .tribe-events-calendar-month__calendar-event-datetime {
  color:var(--mbyc-ink-soft) !important;
  font-size:.82rem !important;
  display:block;
  margin-bottom:1px;
}
.tribe-events .tribe-events-calendar-month__calendar-event-title,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700 !important;
  color:var(--mbyc-navy) !important;
  font-size:.98rem !important;
  line-height:1.25;
}
/* featured: gold-tinted chip */
.tribe-events .tribe-events-calendar-month__calendar-event--featured {
  background:#fbf3e3 !important;
}
.tribe-events .tribe-events-calendar-month__calendar-event--featured .tribe-events-calendar-month__calendar-event-title-link {
  color:var(--mbyc-navy) !important;
}
/* "+N more" link */
.tribe-events .tribe-events-calendar-month__more-events-link {
  font-weight:700;
  color:var(--mbyc-sea) !important;
  margin:2px 2px 0;
  display:inline-block;
}
/* multiday bars */
.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner { background:var(--mbyc-sea); }
.tribe-events .tribe-events-calendar-month__multiday-event--featured .tribe-events-calendar-month__multiday-event-bar-inner { background:var(--mbyc-gold); }
/* keep multiday bars clear of the date number row + give them room */
.tribe-events .tribe-events-calendar-month__day-cell--mobile,
.tribe-events .tribe-events-calendar-month__week-multiday {
  margin-top:6px;
}
.tribe-events .tribe-events-calendar-month__multiday-event {
  margin-bottom:4px;
}
.tribe-events .tribe-events-calendar-month__multiday-event-title {
  font-family:"Source Sans 3", sans-serif !important;
  font-weight:700 !important;
  font-size:.92rem !important;
  color:#fff !important;
}

/* ====================================================================
   LIST VIEW
   Unify the date tag + content into ONE rounded shell so corners blend.
   The event row is the shell; the inner date tag loses its own box.
   ==================================================================== */
.tribe-events .tribe-events-calendar-list__event-row {
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:18px;
}
/* the shell: wrap the whole row (date + card) as one rounded unit */
.tribe-events .tribe-events-calendar-list__event-row {
  background:var(--mbyc-paper);
  border:1px solid var(--mbyc-line);
  border-radius:var(--mbyc-radius);
  box-shadow:0 8px 22px rgba(11,42,82,.05);
  overflow:hidden;
  display:flex;
  transition:transform .2s ease, box-shadow .2s ease;
}
.tribe-events .tribe-events-calendar-list__event-row:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(11,42,82,.09);
}
/* date tag: now a flush sand panel on the left of the shell, square is fine
   because it's INSIDE the rounded shell (overflow clips it) */
.tribe-events .tribe-events-calendar-list__event-date-tag {
  background:var(--mbyc-sand);
  border:none !important;
  border-radius:0 !important;
  padding:20px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:92px;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime { text-align:center; }
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy) !important;
  font-weight:600;
  font-size:1.7rem;
  line-height:1;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
  color:var(--mbyc-red) !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  font-size:.78rem;
  margin-bottom:4px;
}
/* the inner event card: drop its own border/shadow, it's inside the shell now */
.tribe-events .tribe-events-calendar-list__event {
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:22px 24px !important;
  flex:1;
}
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-title-link {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy) !important;
  font-size:1.45rem !important;
  font-weight:600;
}
.tribe-events .tribe-events-calendar-list__event-title-link:hover { color:var(--mbyc-sea) !important; }
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper {
  color:var(--mbyc-ink-soft) !important;
  font-size:1.02rem !important;
}
.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events .tribe-events-calendar-list__event-description p {
  color:var(--mbyc-ink-soft) !important;
  font-size:1.05rem !important;
  line-height:1.6;
}
/* featured: gold left edge on the shell */
.tribe-events .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) {
  border-left:4px solid var(--mbyc-gold);
}

/* month-separator heading ("May 2026") in list view */
.tribe-events .tribe-events-calendar-list__month-separator-text {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy) !important;
  font-weight:600;
}

/* ====================================================================
   DAY VIEW
   ==================================================================== */
.tribe-events .tribe-events-calendar-day__event-title-link {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy) !important;
}
.tribe-events .tribe-events-calendar-day__event-title-link:hover { color:var(--mbyc-sea) !important; }

/* ====================================================================
   SINGLE EVENT PAGE
   ==================================================================== */
.single-tribe_events .tribe-events-single-event-title,
.single-tribe_events .tribe-events-schedule h2 {
  font-family:"Fraunces", Georgia, serif !important;
  color:var(--mbyc-navy);
}
.single-tribe_events .tribe-events-cal-links .tribe-events-gcal,
.single-tribe_events .tribe-events-cal-links .tribe-events-ical {
  background:var(--mbyc-sand) !important;
  color:var(--mbyc-navy) !important;
  border-radius:6px;
}

/* ---------- links ---------- */
.tribe-events a { color:var(--mbyc-sea); }
.tribe-events a:hover { color:var(--mbyc-navy); }

/* ====================================================================
   RESPONSIVE
   ==================================================================== */
@media (max-width:768px){
  .tribe-events .tribe-events-calendar-month__day { min-height:auto; }
  .tribe-events .tribe-events-c-nav__prev,
  .tribe-events .tribe-events-c-nav__next,
  .tribe-events .tribe-events-c-nav__today { padding:12px 16px !important; }
  /* stack the list shell on small screens: date tag on top */
  .tribe-events .tribe-events-calendar-list__event-row { flex-direction:column; }
  .tribe-events .tribe-events-calendar-list__event-date-tag {
    flex-direction:row;
    gap:8px;
    min-width:0;
    width:100%;
    justify-content:flex-start;
    padding:12px 18px;
  }
  .tribe-events .tribe-events-calendar-list__event-date-tag-weekday { margin-bottom:0; }
}
/* ============== END MBYC The Events Calendar skin (v2) ============== */
