/* Global pre-footer hook: keep inner GenerateBlocks container centered */
.gb-element-cd7a6265.alignfull > .gb-element-44b71ff2 {
  width: 100%;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* Reusable gallery image frame: double 1px border, empty inner gap, subtle outer shadow */
.entry-content .tamyo-gallery-grid > div > a,
body.page-id-2418 .entry-content .gb-element-cb32aed2 > div > a {
  display: inline-block;
  vertical-align: top;
  max-width: 100%;
  padding: 4px;
  background-color: transparent;
  border: 1px solid var(--tamyo-color-gallery-border);
  box-shadow: var(--tamyo-shadow-soft);
  border-radius: 0;
  line-height: 0;
}

.entry-content .tamyo-gallery-grid > div > a img,
body.page-id-2418 .entry-content .gb-element-cb32aed2 > div > a img {
  display: block;
  border: 1px solid var(--tamyo-color-gallery-border);
  border-radius: 0;
  box-shadow: none;
}

.entry-content .tamyo-gallery-grid h2,
.entry-content h2.tamyo-gallery-heading,
body.page-id-2418 .entry-content .gb-element-cb32aed2 h2 {
  font-weight: 300;
  font-size: var(--tamyo-font-size-heading);
  line-height: var(--tamyo-line-height-heading);
  text-transform: uppercase;
  margin-top: 15px;
  margin-bottom: 20px;
}

/* Page intro design element: icon + title + yellow bar */
.tamyo-page-design-element-wrap {
  margin: 0;
}

body.page:not(.home):not(.blog) .tamyo-page-design-element-wrap {
  margin-top: -10px;
}

.tamyo-page-design-element-wrap + .site .inside-article {
  padding-top: 0;
}

body.page:not(.home):not(.blog) .site-content {
  padding-top: 8px;
}

body.page .inside-article .entry-content > .wp-block-group > .wp-block-group__inner-container {
  padding-left: 0;
  padding-right: 0;
}

.tamyo-page-design-element {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tamyo-page-design-icon {
  width: 26px;
  height: 26px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
}

.tamyo-page-design-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Circular style for imported icon SVGs used in content blocks */
.entry-content img[src*="/icon-"][src*=".svg"],
.entry-content img.tamyo-circle-icon,
.entry-content .tamyo-circle-icon img {
  width: 54px !important;
  height: 54px !important;
  padding: 11px;
  border: 1px solid var(--tamyo-color-border-light);
  border-radius: 50%;
  outline: 2px solid var(--tamyo-color-outline-light);
  outline-offset: 5px;
  filter: brightness(0) saturate(100%) invert(66%) sepia(0%) saturate(0%) hue-rotate(162deg) brightness(92%) contrast(88%);
  background-color: transparent;
  box-sizing: border-box;
  transition: border-color 0.2s ease, outline-color 0.2s ease;
}

.entry-content a:hover img[src*="/icon-"][src*=".svg"],
.entry-content a:focus img[src*="/icon-"][src*=".svg"],
.entry-content img[src*="/icon-"][src*=".svg"]:hover,
.entry-content .wp-block-image:hover img[src*="/icon-"][src*=".svg"],
.entry-content figure:hover img[src*="/icon-"][src*=".svg"],
.entry-content a:hover img.tamyo-circle-icon,
.entry-content a:focus img.tamyo-circle-icon,
.entry-content img.tamyo-circle-icon:hover,
.entry-content .wp-block-image:hover img.tamyo-circle-icon,
.entry-content figure:hover img.tamyo-circle-icon,
.entry-content .tamyo-circle-icon a:hover img,
.entry-content .tamyo-circle-icon a:focus img,
.entry-content .tamyo-circle-icon img:hover,
.entry-content .tamyo-circle-icon:hover img {
  border-color: var(--tamyo-color-accent-strong);
  outline-color: var(--tamyo-color-accent-strong);
  background-color: transparent;
}

.tamyo-prefooter-card {
  cursor: pointer;
}

.tamyo-prefooter-card:focus-visible {
  outline: 2px solid var(--tamyo-color-accent-line);
  outline-offset: 4px;
}

.tamyo-prefooter-card:hover .ibox-icon-svg,
.tamyo-prefooter-card:focus-within .ibox-icon-svg,
.tamyo-prefooter-card:focus-visible .ibox-icon-svg {
  border-color: var(--tamyo-color-accent-link);
}

.tamyo-prefooter-card:hover .ibox-icon-svg a,
.tamyo-prefooter-card:focus-within .ibox-icon-svg a,
.tamyo-prefooter-card:focus-visible .ibox-icon-svg a {
  border-color: var(--tamyo-color-accent-link);
}

.tamyo-prefooter-card:hover .ibox-icon-svg a img,
.tamyo-prefooter-card:focus-within .ibox-icon-svg a img,
.tamyo-prefooter-card:focus-visible .ibox-icon-svg a img {
  filter: brightness(0) saturate(100%) invert(69%) sepia(92%) saturate(621%) hue-rotate(2deg) brightness(96%) contrast(88%);
}

/* Hover over entire icon text column on home copy */
body.page-id-2418 .entry-content .gb-element-44b71ff2 > div:hover img[src*="/icon-"][src*=".svg"],
body.page-id-2418 .entry-content .gb-element-44b71ff2 > div:focus-within img[src*="/icon-"][src*=".svg"],
body.page-id-2418 .entry-content .gb-element-44b71ff2 > div:hover img.tamyo-circle-icon,
body.page-id-2418 .entry-content .gb-element-44b71ff2 > div:focus-within img.tamyo-circle-icon,
body.page-id-2418 .entry-content .gb-element-44b71ff2 > div:hover .tamyo-circle-icon img,
body.page-id-2418 .entry-content .gb-element-44b71ff2 > div:focus-within .tamyo-circle-icon img {
  border-color: var(--tamyo-color-accent-strong);
  outline-color: var(--tamyo-color-accent-strong);
  background-color: transparent;
}

.tamyo-page-design-title {
  margin: 0;
  font-family: var(--tamyo-font-base);
  font-weight: 700;
  font-size: 22px;
  line-height: var(--tamyo-line-height-heading);
  color: var(--tamyo-color-text);
  white-space: nowrap;
}

.tamyo-page-design-bar {
  display: block;
  height: 3px;
  background: var(--tamyo-color-accent-line);
  flex: 1 1 auto;
  min-width: 40px;
}

@media (max-width: 768px) {
  .tamyo-page-design-element {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  .tamyo-page-design-title {
    white-space: normal;
    font-size: 20px;
  }

  .tamyo-page-design-bar {
    flex-basis: 100%;
  }
}
