/* SECPEC 0.5.1: measured contrast corrections for public controls and links. */
:root { --secpec-fix-ink: #1a3661; --secpec-fix-ink-hover: #10284a; --secpec-fix-muted: #53677d; --secpec-fix-focus: #b17b18; }

/* Password, member-login, GravityView and site-search controls. */
#pwbox-5414,
#pwbox-5336,
#gv_search_5396,
#gv_search_5374,
#search-box-filter_55,
#search-box-filter_56,
#user_login,
#user_pass,
.search-field {
  color: var(--secpec-fix-ink) !important;
  background-color: #fff !important;
  border-color: #667c96 !important;
}
#pwbox-5414:hover,
#pwbox-5336:hover,
#gv_search_5396:hover,
#gv_search_5374:hover,
#search-box-filter_55:hover,
#search-box-filter_56:hover,
#user_login:hover,
#user_pass:hover,
.search-field:hover {
  color: var(--secpec-fix-ink) !important;
  background-color: #fff !important;
  border-color: var(--secpec-fix-ink) !important;
}
#pwbox-5414::placeholder,
#pwbox-5336::placeholder,
#gv_search_5396::placeholder,
#gv_search_5374::placeholder,
#search-box-filter_55::placeholder,
#search-box-filter_56::placeholder,
#user_login::placeholder,
#user_pass::placeholder,
.search-field::placeholder {
  color: var(--secpec-fix-muted) !important;
  opacity: 1;
}
#pwbox-5414:focus-visible,
#pwbox-5336:focus-visible,
#gv_search_5396:focus-visible,
#gv_search_5374:focus-visible,
#search-box-filter_55:focus-visible,
#search-box-filter_56:focus-visible,
#user_login:focus-visible,
#user_pass:focus-visible,
.search-field:focus-visible {
  outline: 3px solid var(--secpec-fix-ink) !important;
  outline-offset: 2px;
}
#search-box-filter_55 option,
#search-box-filter_56 option { color: var(--secpec-fix-ink); background-color: #fff; }

/* Inscription form submit. */
#gform_submit_button_4 {
  color: #fff !important;
  background-color: var(--secpec-action, #0b5963) !important;
  border-color: var(--secpec-action, #0b5963) !important;
}
#gform_submit_button_4:hover,
#gform_submit_button_4:active {
  color: #fff !important;
  background-color: var(--secpec-action-hover, #084750) !important;
  border-color: var(--secpec-action-hover, #084750) !important;
}
#gform_submit_button_4:focus-visible {
  color: #fff !important;
  background-color: var(--secpec-action, #0b5963) !important;
  outline: 3px solid var(--secpec-fix-focus) !important;
  outline-offset: 3px;
}
html body form#gform_4 #gform_submit_button_4:focus-visible {
  color: #fff !important;
  background-color: var(--secpec-action, #0b5963) !important;
  border-color: var(--secpec-action, #0b5963) !important;
  outline: 3px solid var(--secpec-fix-focus) !important;
  outline-color: var(--secpec-fix-focus) !important;
  outline-style: solid !important;
  outline-width: 3px !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--secpec-fix-focus) !important;
}

/* All 16 article actions share one page-scoped contrast treatment. */
body.page-id-4505 .entry-content .wp-block-button__link {
  color: #fff !important;
  background-color: var(--secpec-action, #0b5963) !important;
  border-color: var(--secpec-action, #0b5963) !important;
}
body.page-id-4505 .entry-content .wp-block-button__link:hover,
body.page-id-4505 .entry-content .wp-block-button__link:active {
  color: #fff !important;
  background-color: var(--secpec-action-hover, #084750) !important;
  border-color: var(--secpec-action-hover, #084750) !important;
}
body.page-id-4505 .entry-content .wp-block-button__link:focus-visible {
  color: #fff !important;
  background-color: var(--secpec-action, #0b5963) !important;
  outline: 3px solid var(--secpec-fix-focus) !important;
  outline-offset: 3px !important;
}

/* Event names sit on the supplied pale-blue accent panel. */
body.page-id-4494 .entry-content [class*="wp-elements-"],
body.page-id-4494 .entry-content [class*="wp-elements-"] a {
  color: var(--secpec-fix-ink) !important;
}
body.page-id-4494 .entry-content [class*="wp-elements-"]:hover,
body.page-id-4494 .entry-content [class*="wp-elements-"] a:hover,
body.page-id-4494 .entry-content [class*="wp-elements-"]:active,
body.page-id-4494 .entry-content [class*="wp-elements-"] a:active {
  color: var(--secpec-fix-ink-hover) !important;
  text-decoration: underline;
}
body.page-id-4494 .entry-content [class*="wp-elements-"]:focus-visible,
body.page-id-4494 .entry-content [class*="wp-elements-"] a:focus-visible {
  outline: 3px solid var(--secpec-fix-focus) !important;
  outline-offset: 3px !important;
}

/* Search-result and pagination links. */
a.read-more,
a.next {
  color: var(--secpec-fix-ink) !important;
  background-color: transparent !important;
  text-decoration: underline;
  text-underline-offset: .15em;
}
a.read-more:hover,
a.next:hover,
a.read-more:active,
a.next:active { color: var(--secpec-fix-ink-hover) !important; background-color: transparent !important; }
a.read-more:focus-visible,
a.next:focus-visible { background-color: transparent !important; outline: 3px solid var(--secpec-fix-focus); outline-offset: 3px; }

/* Collaborators: three compact, uniform logo cards; keep linked artwork intact. */
body.page-id-4541 .entry-content .gb-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  width: 100%;
  max-width: none;
  margin-inline: auto;
}
body.page-id-4541 .entry-content .gb-grid-wrapper > .gb-grid-column {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
}
body.page-id-4541 .entry-content .gb-grid-wrapper > .gb-grid-column > .gb-container {
  box-sizing: border-box;
  height: auto;
  padding: 16px !important;
  border: 1px solid #d9e1ea;
  border-radius: 6px;
  background: #fff;
}
body.page-id-4541 .entry-content .gb-block-image {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 150px !important;
  max-height: 150px;
  aspect-ratio: auto;
  margin: 0;
  border-radius: 6px;
  background: #fff;
}
body.page-id-4541 .entry-content .gb-block-image > a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}
body.page-id-4541 .entry-content .gb-block-image > img,
body.page-id-4541 .entry-content .gb-block-image > a > img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 132px;
  margin: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
}

/* Event cards: place descriptive copy and poster across the available width. */
body.page-id-4494 .entry-content .gb-grid-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: start;
  column-gap: 24px;
  row-gap: 16px;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 24px 0;
  padding: 16px;
  border: 1px solid #d9e1ea;
  border-radius: 6px;
  background: #fff;
}
body.page-id-4494 .entry-content .gb-grid-wrapper > .gb-grid-column {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
}
body.page-id-4494 .entry-content .gb-grid-wrapper > .gb-grid-column > .gb-container {
  box-sizing: border-box;
  height: auto;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.page-id-4494 .entry-content .gb-grid-wrapper .gb-block-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 220px !important;
  max-height: 220px;
  aspect-ratio: auto;
  margin: 0;
  border-radius: 6px;
  background: #f4f7fa;
}
body.page-id-4494 .entry-content .gb-grid-wrapper .gb-block-image > a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}
body.page-id-4494 .entry-content .gb-grid-wrapper .gb-block-image > img,
body.page-id-4494 .entry-content .gb-grid-wrapper .gb-block-image > a > img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 204px;
  margin: 0;
  object-fit: contain;
  object-position: center;
}
body.page-id-4494 .entry-content .gb-grid-wrapper:not(:has(> .gb-grid-column:nth-child(2) .gb-block-image img)) {
  grid-template-columns: minmax(0, 1fr);
}
body.page-id-4494 .entry-content .gb-grid-wrapper:not(:has(> .gb-grid-column:nth-child(2) .gb-block-image img)) > .gb-grid-column:nth-child(2) {
  display: none;
}

@media (max-width: 767px) {
  body.page-id-4541 .entry-content .gb-grid-wrapper { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.page-id-4494 .entry-content .gb-grid-wrapper { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
