@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap');

:root {
  --th-cream:      #FAF6F0;
  --th-white:      #FFFFFF;
  --th-sand:       #F2EBE0;
  --th-ink:        #1F2A2A;
  --th-muted:      #55605E;
  --th-teal:       #185662;
  --th-teal-dark:  #103C46;
  --th-teal-tint:  #DCE7E9;
  --th-border:     #E3D9CB;
  --th-sold:       #6E6A62;
  --th-clay:       #9C4A26;
  --th-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --th-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --th-radius:    10px;
  --th-radius-lg: 14px;
}

body {
  background-color: var(--th-cream);
  color: var(--th-ink);
  font-family: var(--th-sans);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .widget-title,
.woocommerce-loop-product__title,
.product_title {
  font-family: var(--th-serif);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--th-ink);
}

h1, .entry-title, .page-title, .product_title { font-size: 54px; }
h2 { font-size: 35px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }

a {
  color: var(--th-teal);
  text-underline-offset: 3px;
}
a:hover { color: var(--th-teal-dark); }

@media (max-width: 782px) {
  body { font-size: 16px; }
  h1, .entry-title, .page-title, .product_title { font-size: 35px; }
  h2 { font-size: 26px; }
  h3 { font-size: 20px; }
  h4 { font-size: 18px; }
  p, li, td { font-size: 16px; }
  img, video, iframe, table { max-width: 100%; height: auto; }
}

.wp-block-button__link,
button, input[type="submit"], .button,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt {
  font-family: var(--th-sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  min-height: 48px;
  padding: 15px 26px;
  border-radius: var(--th-radius);
  border: 1px solid transparent;
  background-color: var(--th-teal);
  color: #ffffff;
  text-decoration: none;
  transition: background-color .15s ease;
}

.wp-block-button__link:hover,
button:hover, input[type="submit"]:hover, .button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
  background-color: var(--th-teal-dark);
  color: #ffffff;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.button:focus-visible,
.woocommerce a.button:focus-visible {
  outline: 2px solid var(--th-teal-dark);
  outline-offset: 3px;
}

input[type="text"], input[type="email"], input[type="tel"],
input[type="search"], input[type="password"], textarea, select {
  font-family: var(--th-sans);
  font-size: 16px;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--th-border);
  border-radius: var(--th-radius);
  background: var(--th-white);
  color: var(--th-ink);
}

/* Header background matches the rest of the page */
header,
.site-header,
#masthead,
.site-branding {
  background-color: var(--th-cream) !important;
}

/* Logo capped on phones */
@media (max-width: 782px) {
  header img,
  .site-header img,
  #masthead img,
  .custom-logo,
  .site-logo img {
    max-height: 64px !important;
    width: auto !important;
    height: auto !important;
  }
}

/* Stop justified text — it's what causes those ugly gaps between words */
p { text-align: left; }

/* Black block buttons → teal */
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
  background-color: var(--th-teal) !important;
  color: #ffffff !important;
  border-radius: var(--th-radius) !important;
  letter-spacing: 0.02em !important;
}
.wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover {
  background-color: var(--th-teal-dark) !important;
}

/* ---------- Product Collection grid ---------- */
.wc-block-product-template { gap: 24px !important; }

li.wc-block-product {
  background: var(--th-white);
  border: 1px solid var(--th-border);
  border-radius: var(--th-radius-lg);
  overflow: hidden;
  padding: 0 0 18px !important;
  margin: 0 !important;
  text-align: left !important;
  display: flex;
  flex-direction: column;
}

li.wc-block-product .wc-block-components-product-image { margin: 0 0 12px !important; }

li.wc-block-product .wc-block-components-product-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}

li.wc-block-product .wp-block-post-title {
  font-family: var(--th-serif) !important;
  font-size: 17px !important;
  line-height: 1.25;
  margin: 0 0 4px !important;
  padding: 0 16px;
  text-align: left !important;
}
li.wc-block-product .wp-block-post-title a {
  color: var(--th-ink);
  text-decoration: none;
}

li.wc-block-product .wc-block-components-product-price {
  padding: 0 16px;
  margin-top: auto;
  text-align: left !important;
  font-size: 15px !important;
  font-weight: 600;
  color: var(--th-ink);
}

li.wc-block-product .wc-block-components-product-button {
  padding: 12px 16px 0;
  text-align: left !important;
}
li.wc-block-product .wc-block-components-product-button .wp-block-button__link,
li.wc-block-product .wc-block-components-product-button a.added_to_cart {
  display: block;
  width: 100%;
  text-align: center;
  background-color: var(--th-teal) !important;
  color: #ffffff !important;
  border-radius: var(--th-radius) !important;
  min-height: 44px;
  padding: 12px 14px !important;
  font-size: 13.5px !important;
  font-weight: 500;
  text-decoration: none !important;
}
li.wc-block-product .wc-block-components-product-button .wp-block-button__link:hover,
li.wc-block-product .wc-block-components-product-button a.added_to_cart:hover {
  background-color: var(--th-teal-dark) !important;
}

/* Two per row on phones */
@media (max-width: 782px) {
  .wc-block-product-template {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
  li.wc-block-product .wp-block-post-title { font-size: 14.5px !important; padding: 0 12px; }
  li.wc-block-product .wc-block-components-product-price { padding: 0 12px; font-size: 13.5px !important; }
  li.wc-block-product .wc-block-components-product-button { padding: 10px 12px 0; }
}

/* ---------- Product titles: readable, not shouting ---------- */
li.wc-block-product .wp-block-post-title,
li.wc-block-product .wp-block-post-title a {
  font-family: "bricolage-grotesque", var(--th-sans) !important;
  text-transform: none !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}

/* ---------- Kill the dead space on phones ---------- */
@media (max-width: 782px) {
  .wp-block-spacer { height: 24px !important; }
  h1, h2 { margin-top: 16px !important; }
}


/* ---------- TWO ACROSS ON PHONES ---------- */
@media (max-width: 782px) {
  .wp-block-woocommerce-product-collection .wc-block-product-template,
  .wp-block-woocommerce-product-collection .wc-block-product-template.columns-3,
  .wp-block-woocommerce-product-collection .wc-block-product-template__responsive {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .wp-block-woocommerce-product-collection li.wc-block-product {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
  }
  .wp-block-woocommerce-product-collection li.wc-block-product .wp-block-post-title,
  .wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-button {
    padding: 10px 12px 0 !important;
  }
}


/* ---------- ARTIST SWIPE ROWS (Originals page) ---------- */
body.page-id-11395 .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  gap: 16px !important;
  margin: 0 0 8px !important;
  padding: 4px 4px 14px !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-color: var(--th-border) transparent;
}
body.page-id-11395 .wp-block-woocommerce-product-collection li.wc-block-product {
  flex: 0 0 auto !important;
  width: 360px !important;
  max-width: 74vw !important;
  min-width: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}
body.page-id-11395 .wp-block-woocommerce-product-collection .wc-block-product-template::-webkit-scrollbar { height: 6px; }
body.page-id-11395 .wp-block-woocommerce-product-collection .wc-block-product-template::-webkit-scrollbar-thumb {
  background: var(--th-border); border-radius: 999px;
}
body.page-id-11395 .wp-block-woocommerce-product-collection .wp-block-query-pagination { display: none !important; }
@media (max-width: 782px) {
  body.page-id-11395 .wp-block-woocommerce-product-collection li.wc-block-product {
    width: 62vw !important;
    max-width: 280px !important;
  }
}

/* ---------- MOBILE SUBMENUS v2 — keep the theme's toggle, just stop it flying off-screen ---------- */
@media (max-width: 782px) {
  .main-navigation .handheld-navigation ul.sub-menu,
  .main-navigation .handheld-navigation li:hover > ul.sub-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
  }
  .main-navigation .handheld-navigation li { position: relative !important; overflow: visible !important; }
  .main-navigation .handheld-navigation ul.sub-menu a {
    font-size: 15px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}


/* ---------- SQUARE CORNERS — artwork, not app tiles ---------- */
li.wc-block-product,
.wc-block-grid__product,
.woocommerce ul.products li.product {
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}
li.wc-block-product .wc-block-components-product-image img,
li.wc-block-product img,
.wc-block-grid__product-image img,
.woocommerce ul.products li.product img {
  border-radius: 0 !important;
}
li.wc-block-product .wc-block-components-product-button .wp-block-button__link,
li.wc-block-product .wc-block-components-product-button a.added_to_cart {
  border-radius: 2px !important;
}
/* single product page image */
.woocommerce div.product div.images img { border-radius: 0 !important; }


/* ---------- ALIGN CARD FOOTERS — price and button flush to the bottom ---------- */
li.wc-block-product {
  display: flex !important;
  flex-direction: column !important;
}
li.wc-block-product .wc-block-components-product-price {
  margin-top: auto !important;
  padding-top: 6px;
}
li.wc-block-product .wc-block-components-product-button {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
li.wc-block-product .wp-block-post-title {
  margin-bottom: 4px !important;
}


/* ---------- ALIGN CARD FOOTERS v2 ---------- */
li.wc-block-product .wp-block-woocommerce-product-price {
  margin-top: auto !important;
  padding-top: 8px !important;
  margin-bottom: 0 !important;
}
li.wc-block-product .wp-block-woocommerce-product-button {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
li.wc-block-product .wp-block-post-title {
  margin-bottom: 2px !important;
}


/* ---------- HANG ON THE WALL — no card, artwork sits on the cream ---------- */
li.wc-block-product,
.wc-block-grid__product,
.woocommerce ul.products li.product {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 20px !important;
}
li.wc-block-product .wp-block-post-title,
li.wc-block-product .wp-block-woocommerce-product-price,
li.wc-block-product .wp-block-woocommerce-product-button {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
li.wc-block-product .wc-block-components-product-image {
  margin-bottom: 14px !important;
}
/* a hairline under the image keeps the work feeling framed without a box */
li.wc-block-product .wc-block-components-product-image img {
  box-shadow: 0 1px 0 rgba(31,42,42,.08);
}


/* ---------- DESKTOP CARD WIDTH — fewer, larger works per row ---------- */
@media (min-width: 783px) {
  body.page-id-11395 .wp-block-woocommerce-product-collection li.wc-block-product {
    width: 360px !important;
    max-width: 34vw !important;
  }
  body.page-id-11395 .wp-block-woocommerce-product-collection .wc-block-product-template {
    gap: 28px !important;
  }
}


/* ---------- ROW ARROWS — make it obvious there is more ---------- */
body.page-id-11395 .wp-block-woocommerce-product-collection { position: relative; }

.th-arrow {
  position: absolute;
  top: 190px;
  z-index: 6;
  width: 46px; height: 46px;
  border: 1px solid var(--th-border);
  background: rgba(250,246,240,.92);
  color: var(--th-teal-dark);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
  font-size: 20px; line-height: 1;
  transition: background .15s ease, opacity .15s ease;
  box-shadow: 0 2px 10px rgba(31,42,42,.12);
}
.th-arrow:hover { background: var(--th-teal); color: #fff; border-color: var(--th-teal); }
.th-arrow:focus-visible { outline: 2px solid var(--th-teal-dark); outline-offset: 3px; }
.th-arrow[disabled] { opacity: 0; pointer-events: none; }
.th-prev { left: -10px; }
.th-next { right: -10px; }

/* fade at the right edge so the row reads as continuing */
body.page-id-11395 .wp-block-woocommerce-product-collection::after {
  content: "";
  position: absolute; top: 0; right: -2px; width: 64px; height: 100%;
  background: linear-gradient(to right, rgba(250,246,240,0), rgba(250,246,240,.95));
  pointer-events: none; z-index: 4;
}
body.page-id-11395 .wp-block-woocommerce-product-collection.th-at-end::after { opacity: 0; }

@media (max-width: 782px) {
  .th-arrow { display: none !important; }
  body.page-id-11395 .wp-block-woocommerce-product-collection::after { width: 36px; }
}


/* ---------- HOMEPAGE COLUMN — one centred measure for text and images ---------- */
@media (min-width: 783px) {
  body.page-id-4272 .entry-content > * {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.page-id-4272 .entry-content .wp-block-image,
  body.page-id-4272 .entry-content .wp-block-image figure {
    width: 100% !important;
    max-width: 780px !important;
  }
  body.page-id-4272 .entry-content .wp-block-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* opening line: quieter, italic */
body.page-id-4272 .entry-content > p:first-of-type {
  color: var(--th-muted) !important;
  font-style: italic;
  font-size: 1.06rem;
  line-height: 1.6;
}

/* ---------- BUTTONS CONSISTENT WITH THE SHOP ---------- */
.wp-block-button__link,
.wp-block-button .wp-block-button__link,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce a.button.alt,
body .woocommerce .checkout-button {
  border-radius: 2px !important;
}


/* ---------- ONE BUTTON, EVERYWHERE (matched to the shop) ---------- */
.wp-block-button__link,
.wp-block-button .wp-block-button__link,
.wp-element-button,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce input.button.alt,
body .woocommerce .checkout-button,
body .woocommerce #respond input#submit,
body button[type="submit"],
body input[type="submit"],
body a.button {
  background-color: var(--th-teal) !important;
  color: #fff !important;
  font-family: "Bricolage Grotesque", "Inter", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .2px !important;
  text-transform: none !important;
  line-height: 1.62 !important;
  border: 0 !important;
  border-radius: 2px !important;
  min-height: 44px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transition: background-color .18s ease;
}

.wp-block-button .wp-block-button__link,
body .woocommerce .checkout-button,
body button[type="submit"],
body input[type="submit"],
body a.button {
  padding: 13px 26px !important;
}

.wc-block-components-product-button .wp-block-button__link,
.wp-block-woocommerce-product-button .wp-block-button__link,
.woocommerce ul.products li.product .button {
  padding: 12px 14px !important;
  font-size: 14px !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
body .woocommerce input.button:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
body .woocommerce .checkout-button:hover,
body button[type="submit"]:hover,
body input[type="submit"]:hover,
body a.button:hover {
  background-color: var(--th-teal-dark) !important;
  color: #fff !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--th-teal) !important;
  box-shadow: inset 0 0 0 1px var(--th-teal) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--th-teal) !important;
  color: #fff !important;
}

/* leave the little search submits alone */
.site-header .search-form button,
.site-header .search-form input[type="submit"],
.widget_search button,
.widget_product_search button {
  min-height: 0 !important;
  padding: 8px 12px !important;
}

/* ---------- ARTISTS GRID — a lone last card keeps its column width ---------- */
@media (min-width: 783px) {
  body.page-id-19784 .wp-block-columns > .wp-block-column:only-child {
    flex: 0 0 auto !important;
    width: calc(21.739% - 18px) !important;
    max-width: calc(21.739% - 18px) !important;
  }
}


/* ---------- STICKY HEADER — the menu stays with you ---------- */
body:not(.wp-admin) .site-header{
  position: sticky !important;
  top: 0;
  z-index: 600;
  background-color: var(--th-cream) !important;
  will-change: padding;
}
body.admin-bar .site-header{ top: 32px; }
@media screen and (max-width: 782px){ body.admin-bar .site-header{ top: 46px; } }
.site-header .storefront-primary-navigation{ background-color: #fff; }

/* shrink as you scroll, where the browser supports it */
@supports (animation-timeline: scroll()) {
  @keyframes th-header-shrink{
    from{ padding-top: 17px; box-shadow: 0 0 0 rgba(31,42,42,0); }
    to{ padding-top: 4px; box-shadow: 0 2px 10px rgba(31,42,42,.09); }
  }
  @keyframes th-logo-shrink{
    from{ max-height: 50px; }
    to{ max-height: 32px; }
  }
  body:not(.wp-admin) .site-header{
    animation: th-header-shrink linear both;
    animation-timeline: scroll(root);
    animation-range: 0px 150px;
  }
  .site-header .site-logo-link img,
  .site-header .custom-logo{
    animation: th-logo-shrink linear both;
    animation-timeline: scroll(root);
    animation-range: 0px 150px;
  }
}

/* sticky needs a scroll container that is not clipped — clip keeps the no-sideways-scroll behaviour without breaking it */
body, body .hfeed.site{
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* keyframes at top level — nested inside @supports they get stripped by the optimiser */
@keyframes th-header-shrink{
  from{ padding-top:17px; box-shadow:0 0 0 rgba(31,42,42,0); }
  to{ padding-top:4px; box-shadow:0 2px 10px rgba(31,42,42,.09); }
}
@keyframes th-logo-shrink{
  from{ max-height:50px; }
  to{ max-height:32px; }
}

/* ---------- STICKY HEADER v2 — logo slides away, menu bar stays ---------- */
body:not(.wp-admin) .site-header{
  animation: none !important;
  position: sticky !important;
  top: -85px;
  z-index: 600;
}
body.admin-bar .site-header{ top: -53px; }
.site-header .site-logo-link img,
.site-header .custom-logo{ animation: none !important; }
.site-header .storefront-primary-navigation{
  box-shadow: 0 2px 10px rgba(31,42,42,.06);
}

/* ---------- STICKY HEADER v3 — beat the theme's own sticky rule ---------- */
body:not(.wp-admin) #masthead.site-header{
  position: sticky !important;
  top: -85px !important;
  z-index: 600;
}
body.admin-bar #masthead.site-header{ top: -53px !important; }

/* ---------- STICKY HEADER v4 — per-breakpoint offsets ---------- */
@media (min-width: 783px){
  body:not(.wp-admin) #masthead.site-header{ top: -84px !important; }
  body.admin-bar #masthead.site-header{ top: -52px !important; }
}
@media (max-width: 782px){
  body:not(.wp-admin) #masthead.site-header{ top: -62px !important; }
  body.admin-bar #masthead.site-header{ top: -16px !important; }
}

/* ---------- STICKY HEADER v5 — on phones the menu button lives in the logo row, so keep that visible ---------- */
@media (max-width: 782px){
  body:not(.wp-admin) #masthead.site-header{ top: 0 !important; }
  body.admin-bar #masthead.site-header{ top: 46px !important; }
}

/* ---------- ARTISTIC LENS — the writing ---------- */
body.blog article .entry-header img,
body.archive article .entry-header img,
body.single-post .entry-header img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100% !important;
  height: auto !important;
}
body.blog article.post{ margin-bottom: 3.2em; }
body.blog article .entry-title{
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
  margin-top: .7em;
}
body.blog .post-author,
body.blog .post-comments{ display: none !important; }
body.blog .posted-on{
  display: block;
  color: var(--th-muted) !important;
  font-size: .78rem;
  letter-spacing: .04em;
  margin-top: .4em;
}
body.blog .entry-content{ color: var(--th-muted); font-size: .95rem; }

/* ---------- READABLE MEASURE on the writing pages ---------- */
@media (min-width: 783px){
  body.page-id-8494 .entry-content > p,
  body.page-id-8494 .entry-content > h2,
  body.page-id-8494 .entry-content > h3,
  body.page-id-8494 .entry-content > ul,
  body.page-id-8494 .entry-content > ol,
  body.page-id-8494 .entry-content > figure.wp-block-table,
  body.page-id-8494 .entry-content > .wp-block-buttons{
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ---------- EXHIBITIONS — expandable entries ---------- */
body.page-id-20038 .entry-content > *{ max-width: 820px !important; margin-left:auto !important; margin-right:auto !important; }
body.page-id-20038 .wp-block-details{
  border-top: 1px solid var(--th-border);
  padding: 20px 0 8px;
  margin: 0 auto;
}
body.page-id-20038 .wp-block-details summary{
  cursor: pointer;
  list-style: none;
  font-size: 1.06rem;
  color: var(--th-ink);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.2em;
  padding: 4px 0;
}
body.page-id-20038 .wp-block-details summary::-webkit-details-marker{ display:none; }
body.page-id-20038 .wp-block-details summary::after{
  content: "+";
  color: var(--th-teal);
  font-size: 1.35rem;
  line-height: 1;
  flex: 0 0 auto;
}
body.page-id-20038 .wp-block-details[open] summary::after{ content: "\2013"; }
body.page-id-20038 .wp-block-details > *:not(summary){
  color: var(--th-muted);
  font-size: .96rem;
  margin-top: .9em;
}
body.page-id-20038 .wp-block-details img{
  max-height: 520px;
  width: auto !important;
  height: auto;
}
body.page-id-20038 h2{ margin-bottom: .2em; }

/* EXHIBITIONS summary — keep the title and dates together, marker on the right */
body.page-id-20038 .wp-block-details summary{
  display: block !important;
  position: relative;
  padding-right: 2em !important;
}
body.page-id-20038 .wp-block-details summary::after{
  position: absolute;
  right: 0;
  top: 0;
}

/* ---------- FOOTER — light, short, only what earns its place ---------- */
.site-footer{
  background-color: var(--th-teal-tint) !important;
  color: var(--th-ink) !important;
  border-top: 1px solid #C6D7DA;
  padding-top: 44px !important;
  padding-bottom: 20px !important;
}
.site-footer .footer-widgets{ padding-bottom: 8px !important; }
.site-footer .widget{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer .widget-title{
  color: var(--th-teal-dark) !important;
  font-size: .76rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
  margin: 0 0 1em !important;
  padding: 0 0 0 !important;
  border: 0 !important;
}
.site-footer p, .site-footer li, .site-footer a, .site-footer span{
  color: var(--th-ink) !important;
  font-size: .94rem !important;
  line-height: 1.65 !important;
}
.site-footer p{ margin-bottom: .9em !important; }
.site-footer a{ text-decoration: none; }
.site-footer a:hover{ color: var(--th-teal) !important; text-decoration: underline; }
.site-footer .site-info{
  border-top: 1px solid #C6D7DA;
  padding-top: 16px !important;
  margin-top: 8px !important;
}
.site-footer .site-info, .site-footer .site-info a, .site-footer .site-info p{
  color: var(--th-muted) !important;
  font-size: .8rem !important;
}
.site-footer .jetpack-social-widget-item svg,
.site-footer svg{ fill: var(--th-teal-dark) !important; }
.site-footer ul{ margin-left: 0 !important; padding-left: 0 !important; list-style: none !important; }

/* the theme paints a grey gradient over the footer — remove it */
.site-footer{ background-image: none !important; }
.site-footer .footer-widgets{ border-bottom: 0 !important; }

/* ---------- FOOTER v2 — teal ground, bright type ---------- */
.site-footer{
  background-color: var(--th-teal) !important;
  background-image: none !important;
  color: #FAF6F0 !important;
  border-top: 0 !important;
}
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer .widget-title{
  color: #CFE0E4 !important;
}
.site-footer p, .site-footer li, .site-footer span,
.site-footer a{
  color: #FAF6F0 !important;
}
.site-footer a:hover{ color: #FFFFFF !important; text-decoration: underline; }
.site-footer .site-info{ border-top: 1px solid rgba(250,246,240,.22) !important; }
.site-footer .site-info, .site-footer .site-info a, .site-footer .site-info p{
  color: rgba(250,246,240,.72) !important;
}
.site-footer .site-info a:hover{ color:#fff !important; }
.site-footer .jetpack-social-widget-item svg,
.site-footer svg{ fill: #FAF6F0 !important; }
.site-footer .jetpack-social-widget-item a:hover svg{ fill:#fff !important; }
