/* ==========================================================================
   Shop archive, product cards, single product, cart drawer.
   ========================================================================== */

/* ------------------------------------------------------------ archive head */

.ac-shophead {
  background: var(--ac-surface);
  border-bottom: 1px solid #EADDC6;
  padding: 54px var(--ac-gutter) 30px;
  text-align: center;
}
.ac-shophead__inner { max-width: var(--ac-max); margin: 0 auto; }
.ac-shophead .ac-label { letter-spacing: .3em; }
.ac-shophead h1 { margin: 10px 0 0; font-size: clamp(34px, 4.4vw, 52px); }
.ac-shophead__desc { margin: 14px auto 0; font-size: 16px; color: var(--ac-ink-soft); max-width: 480px; }

/* ---------------------------------------------------------------- layout */

.ac-shop {
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 40px var(--ac-gutter) var(--ac-space-section);
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 44px;
  align-items: start;
}

.ac-filters { position: sticky; top: 110px; }
.ac-filters__group { margin-bottom: 30px; }
.ac-filters__group .ac-label { display: block; margin: 0 0 12px; font-size: 11px; letter-spacing: .2em; }
.ac-filters ul { list-style: none; margin: 0; padding: 0; }
.ac-filters li { margin-bottom: 3px; }
.ac-filters a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 5px;
  font-size: 14.5px;
  color: var(--ac-ink-soft);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.ac-filters a:hover { background: var(--ac-surface); color: var(--ac-ink); }
.ac-filters a.is-active { background: var(--ac-ink); color: var(--ac-on-dark); }
.ac-filters__count { color: var(--ac-ink-muted); font-size: 12.5px; }
.ac-filters a.is-active .ac-filters__count { color: #C9B08A; }

.ac-shop__main { min-width: 0; }

.ac-shop__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-bottom: 20px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--ac-line);
  flex-wrap: wrap;
}
.ac-shop__showing { font-size: 14px; color: var(--ac-ink-muted); margin: 0; }
.ac-shop__sort select {
  padding: 9px 12px;
  background: var(--ac-field);
  border: 1px solid var(--ac-line-warm);
  border-radius: var(--ac-radius-input);
  font-family: var(--ac-font-body);
  font-size: 14px;
  color: var(--ac-ink);
}

/* ----------------------------------------------------------------- grid */

ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}
ul.products li.product { margin: 0; }

.ac-prod { display: flex; flex-direction: column; height: 100%; }
.ac-prod__link { text-decoration: none; color: inherit; display: block; }
.ac-prod__media {
  height: 330px;
  overflow: hidden;
  border-radius: 3px;
  background: var(--ac-surface-alt);
  display: block;
}
.ac-prod__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.ac-prod:hover .ac-prod__media img { transform: scale(1.06); }

.ac-prod__body { padding-top: 18px; display: flex; flex-direction: column; flex: 1; }
.ac-prod__cat { font-size: 11px; letter-spacing: .18em; margin: 0 0 8px; }
.ac-prod__title {
  font-family: var(--ac-font-heading);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ac-ink);
}
.ac-prod__excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ac-ink-soft);
  margin: 0 0 14px;
  max-width: none;
}
.ac-prod__foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--ac-line);
  padding-top: 14px;
}
.ac-prod__price { font-size: 16px; color: var(--ac-ink); }
.ac-prod__price del { color: var(--ac-ink-muted); font-size: .85em; margin-right: 4px; }
.ac-prod__price ins { text-decoration: none; font-weight: 600; }

.ac-prod .ac-add {
  font-family: var(--ac-font-label);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ac-ink);
  border-bottom: 1.5px solid var(--ac-accent);
  padding-bottom: 3px;
  text-decoration: none;
  white-space: nowrap;
  background: none;
  border-radius: 0;
  transition: color .2s;
}
.ac-prod .ac-add:hover { color: var(--ac-accent-deep); }
.ac-prod .ac-add.loading { opacity: .5; }
.ac-prod .ac-add.added::after { content: ' \2713'; }

/* --------------------------------------------------------- single product */

.ac-single {
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 40px var(--ac-gutter) var(--ac-space-section);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 60px;
  align-items: start;
}
.ac-single > .woocommerce-notices-wrapper,
.ac-single > .woocommerce-tabs,
.ac-single > .related,
.ac-single > .upsells { grid-column: 1 / -1; }
.ac-single > .woocommerce-product-gallery { min-width: 0; }
.ac-single > .summary { margin: 0; }
.ac-single .woocommerce-product-gallery img { border-radius: var(--ac-radius-card); }
.ac-single .summary .ac-label { display: block; margin-bottom: 14px; }
.ac-single .summary .product_title { margin: 0 0 14px; font-size: clamp(32px, 3.8vw, 46px); }
.ac-single .summary .price {
  font-size: 24px;
  font-family: var(--ac-font-heading);
  font-weight: 600;
  display: block;
  margin-bottom: 18px;
}
.ac-single .summary .woocommerce-product-details__short-description {
  font-size: 16.5px;
  line-height: 1.75;
  color: var(--ac-ink-soft);
}

.ac-single form.cart { margin: 26px 0; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.ac-single form.cart .quantity input {
  width: 84px;
  padding: 14px 12px;
  text-align: center;
  background: var(--ac-field);
  border: 1px solid var(--ac-line-warm);
  border-radius: var(--ac-radius-pill);
  font-family: var(--ac-font-body);
}
.ac-single .ac-meta {
  border-top: 1px solid var(--ac-line);
  padding-top: 20px;
  margin-top: 26px;
  font-size: 14px;
  color: var(--ac-ink-soft);
}
.ac-single .ac-meta p { margin: 0 0 8px; }

/* -------------------------------------------------------------- drawer */

.ac-cart { position: fixed; inset: 0; z-index: 70; }
.ac-cart[hidden] { display: none; }
.ac-cart__scrim { position: absolute; inset: 0; background: rgba(20,12,7,.5); animation: ac-fade .25s ease; }
.ac-cart__panel {
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: min(420px, 100vw);
  background: var(--ac-bg);
  display: flex;
  flex-direction: column;
  animation: ac-slide-in .3s cubic-bezier(.2,.7,.2,1);
}
@keyframes ac-slide-in { from { transform: translateX(100%) } to { transform: translateX(0) } }

.ac-cart__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 26px;
  border-bottom: 1px solid var(--ac-line);
  background: var(--ac-surface);
}
.ac-cart__head h2 { margin: 0; font-size: 22px; font-weight: 600; }
.ac-cart__close { background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: var(--ac-ink); padding: 0; }
.ac-cart__body { flex: 1; overflow-y: auto; padding: 18px 26px; }
.ac-cart__foot { border-top: 1px solid var(--ac-line); padding: 20px 26px 26px; background: var(--ac-surface); }
.ac-cart__foot .ac-btn { display: block; text-align: center; width: 100%; margin-top: 10px; }
.ac-cart__empty { color: var(--ac-ink-muted); text-align: center; padding: 40px 0; }

/* WooCommerce's own mini-cart markup, restyled */
.ac-cart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.ac-cart .woocommerce-mini-cart-item {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid var(--ac-line);
}
.ac-cart .woocommerce-mini-cart-item img {
  width: 64px; height: 64px;
  object-fit: cover;
  border-radius: var(--ac-radius-input);
  background: var(--ac-surface-alt);
}
.ac-cart .woocommerce-mini-cart-item a {
  text-decoration: none;
  color: var(--ac-ink);
  font-family: var(--ac-font-heading);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
}
.ac-cart .woocommerce-mini-cart-item .quantity {
  display: block;
  font-family: var(--ac-font-body);
  font-size: 13px;
  color: var(--ac-ink-muted);
  margin-top: 4px;
}
.ac-cart .woocommerce-mini-cart-item .remove {
  grid-column: 3;
  color: var(--ac-ink-muted) !important;
  font-size: 18px;
  text-decoration: none;
  line-height: 1;
}
.ac-cart .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--ac-font-label);
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0;
}
.ac-cart .woocommerce-mini-cart__total strong { font-weight: 400; }
.ac-cart .woocommerce-mini-cart__total .amount {
  font-family: var(--ac-font-heading);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
}
.ac-cart .woocommerce-mini-cart__buttons { display: none; }

/* -------------------------------------------------------------- notices */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-left: 3px solid var(--ac-accent);
  border-radius: var(--ac-radius-input);
  padding: 16px 20px;
  font-size: 14.5px;
  list-style: none;
}
.woocommerce-error { border-left-color: #9A5A2A; }

/* ------------------------------------------------------------ responsive */

@media (max-width: 1010px) {
  .ac-shop { grid-template-columns: 1fr; gap: 28px; }
  .ac-filters { position: static; }
  .ac-filters ul { display: flex; flex-wrap: wrap; gap: 6px; }
  .ac-filters li { margin: 0; }
  .ac-filters a { border: 1px solid var(--ac-line-warm); border-radius: var(--ac-radius-pill); padding: 7px 14px; }
  ul.products { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .ac-single { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 560px) {
  ul.products { grid-template-columns: 1fr; }
}

/* The archive grid runs its card titles a touch tighter than the homepage
   featured row, matching the design. */
.ac-shop ul.products .ac-prod__title { font-size: 23px; }
.ac-filters__search { display: block; }
.ac-filters__search .ac-field { margin-top: 2px; }


/* ==========================================================================
   Round 3 — photography treatment, single product page
   ========================================================================== */

/* -------------------------------------------- photography: white drops out
   The catalogue is shot on white. Rather than reshoot, or surrender the cream
   ground to a white page, the photo multiplies into the ground: white becomes
   nothing, the chocolate stays. Photos NOT shot on white opt out by carrying
   .is-opaque, set from the _ac_photo_opaque meta in Annies_Shop::card().
   ------------------------------------------------------------------------ */

.ac-prod__media,
.ac-mega__thumb,
.ac-bb__media,
.ac-cart .woocommerce-mini-cart-item img,
.ac-reorder__img { background: transparent; }

.ac-prod__media { aspect-ratio: 1; height: auto; }

.ac-prod__media img,
.ac-mega__thumb img,
.ac-bb__media img,
.ac-cart .woocommerce-mini-cart-item img,
.ac-reorder__img img,
.ac-single .woocommerce-product-gallery__wrapper img,
.ac-single .flex-control-thumbs img { mix-blend-mode: multiply; }

.ac-prod__media.is-opaque,
.ac-bb__media.is-opaque { background: var(--ac-surface-alt); }
.ac-prod__media.is-opaque img,
.ac-bb__media.is-opaque img { mix-blend-mode: normal; }

/* WooCommerce ships `.woocommerce ul.products li.product a img { height:auto }`
   at four classes deep, which beat every height rule above and left every card
   photo floating at the top of an empty well. Reclaimed explicitly. */
.woocommerce ul.products li.product a img,
.ac-prod__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  margin: 0 !important;
}

/* ======================================================== single product */

/* The two-column grid belongs on div.product, not on the outer wrapper.
   WooCommerce nests the whole product one level deeper, so the outer grid was
   parking everything in column one and leaving column two empty — which is
   why the page rendered at half width. */
.ac-single {
  display: block;
  max-width: none;
  padding: 0;
}
.ac-single > .woocommerce-notices-wrapper {
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 22px var(--ac-gutter) 0;
}
.ac-single div.product {
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 46px var(--ac-gutter) var(--ac-space-section);
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
  column-gap: 64px;
  align-items: start;
}
.ac-single div.product > .woocommerce-product-gallery,
.ac-single div.product > .summary {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}
.ac-single div.product::before,
.ac-single div.product::after { content: none !important; display: none !important; }
.ac-single div.product > .woocommerce-tabs,
.ac-single div.product > .related,
.ac-single div.product > .upsells,
.ac-single div.product > .product_meta { grid-column: 1 / -1; }

/* ------------------------------------------------------------- gallery */

.ac-single .woocommerce-product-gallery {
  position: sticky;
  top: 104px;
  margin: 0;
}
.ac-single .woocommerce-product-gallery__wrapper { margin: 0; }
.ac-single .woocommerce-product-gallery__image { border-radius: var(--ac-radius-card); }
.ac-single .woocommerce-product-gallery__image a { display: block; }
.ac-single .woocommerce-product-gallery__wrapper img {
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: var(--ac-radius-card);
}
.ac-single .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 4;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line-warm);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--ac-ink);
  font-size: 16px;
  line-height: 1;
}
.ac-single .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
.ac-single .flex-control-thumbs li { margin: 0; width: auto !important; float: none !important; }
.ac-single .flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
  display: block;
  cursor: pointer;
  border-radius: 4px;
  opacity: .5;
  transition: opacity .2s;
}
.ac-single .flex-control-thumbs img.flex-active,
.ac-single .flex-control-thumbs img:hover { opacity: 1; }

/* ------------------------------------------------------------- summary */

.ac-single .summary { padding-top: 4px; }
.ac-single .summary .product_title { max-width: 15ch; }
.ac-single .summary .price { color: var(--ac-ink); }
.ac-single .summary .price del { color: var(--ac-ink-muted); font-size: .8em; margin-right: 6px; }
.ac-single .summary .price ins { text-decoration: none; }
.ac-single .summary .woocommerce-product-details__short-description { max-width: 46ch; }

.ac-single form.cart { margin: 30px 0 0; gap: 14px; }
.ac-single form.cart .quantity { margin: 0; }
.ac-single form.cart .quantity input {
  width: 92px;
  height: 54px;
  padding: 0 10px;
  border-radius: var(--ac-radius-input);
}
.ac-single .single_add_to_cart_button {
  background: var(--ac-ink) !important;
  color: var(--ac-on-ink) !important;
  font-family: var(--ac-font-label);
  font-size: 12.5px;
  font-weight: 400 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  border: 0 !important;
  border-radius: var(--ac-radius-btn) !important;
  padding: 0 36px !important;
  height: 54px;
  line-height: 54px;
  cursor: pointer;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background .2s;
}
.ac-single .single_add_to_cart_button:hover { background: var(--ac-accent-deep) !important; }
.ac-single .single_add_to_cart_button.disabled { opacity: .45; }

/* Variable products */
.ac-single table.variations { width: 100%; border: 0; margin: 26px 0 0; }
.ac-single table.variations th,
.ac-single table.variations td { padding: 7px 0; border: 0; text-align: left; background: none; }
.ac-single table.variations th.label label {
  font-family: var(--ac-font-label);
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ac-ink-muted);
}
.ac-single table.variations select {
  width: 100%;
  padding: 13px 12px;
  background: var(--ac-field);
  border: 1px solid var(--ac-line-warm);
  border-radius: var(--ac-radius-input);
  font-family: var(--ac-font-body);
  font-size: 15px;
  color: var(--ac-ink);
}
.ac-single .reset_variations { font-size: 13px; color: var(--ac-ink-muted); }
.ac-single .woocommerce-variation-price { margin: 16px 0 0; }

/* ---------------------------------------------------------------- tabs */

.ac-single .woocommerce-tabs { margin-top: 66px; padding: 0; }
.ac-single .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--ac-line);
}
.ac-single .woocommerce-tabs ul.tabs::before,
.ac-single .woocommerce-tabs ul.tabs::after { content: none !important; display: none !important; }
.ac-single .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.ac-single .woocommerce-tabs ul.tabs li::before,
.ac-single .woocommerce-tabs ul.tabs li::after { content: none !important; display: none !important; }
.ac-single .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 16px 0;
  margin-bottom: -1px;
  font-family: var(--ac-font-label);
  font-size: 12px;
  font-weight: 400 !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ac-ink-muted) !important;
  text-decoration: none;
  border-bottom: 2px solid transparent;
}
.ac-single .woocommerce-tabs ul.tabs li.active a,
.ac-single .woocommerce-tabs ul.tabs li a:hover {
  color: var(--ac-ink) !important;
  border-bottom-color: var(--ac-accent);
}
.ac-single .woocommerce-tabs .panel {
  margin: 0;
  padding: 30px 0 0;
  max-width: 700px;
}
.ac-single .woocommerce-tabs .panel > h2 { display: none; }
.ac-single .woocommerce-tabs .panel p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ac-ink-soft);
}
.ac-single .shop_attributes { width: 100%; border: 0; }
.ac-single .shop_attributes th,
.ac-single .shop_attributes td {
  border: 0;
  border-bottom: 1px solid var(--ac-line);
  padding: 13px 0;
  text-align: left;
  background: none;
  font-size: 15px;
}
.ac-single .shop_attributes th {
  font-family: var(--ac-font-label);
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ac-ink-muted);
  width: 40%;
}
.ac-single .shop_attributes td p { margin: 0; }

/* ------------------------------------------------------------- related */

.ac-single .related,
.ac-single .upsells {
  margin-top: 76px;
  border-top: 1px solid var(--ac-line);
  padding-top: 48px;
}
.ac-single .related > h2,
.ac-single .upsells > h2 {
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 600;
  margin: 0 0 30px;
  text-align: center;
}
.ac-single .related ul.products,
.ac-single .upsells ul.products { grid-template-columns: repeat(4, 1fr); gap: 26px; }
.ac-single .related .ac-prod__excerpt,
.ac-single .upsells .ac-prod__excerpt { display: none; }
.ac-single .related .ac-prod__title,
.ac-single .upsells .ac-prod__title { font-size: 20px; }

/* -------------------------------------------------------- responsive */

@media (max-width: 1010px) {
  .ac-single div.product { grid-template-columns: 1fr; column-gap: 0; row-gap: 30px; padding-top: 30px; }
  .ac-single .woocommerce-product-gallery { position: static; }
  .ac-single .summary .product_title { max-width: none; }
  .ac-single .related ul.products,
  .ac-single .upsells ul.products { grid-template-columns: repeat(2, 1fr); }
  .ac-single .woocommerce-tabs ul.tabs { gap: 22px; overflow-x: auto; }
}

@media (max-width: 560px) {
  .ac-single form.cart { gap: 10px; }
  .ac-single .single_add_to_cart_button { flex: 1; padding: 0 20px !important; }
}

/* One catalogue photo is shot on a dark ground; multiplying it would turn it
   to mud. Flagged with _ac_photo_opaque and rendered flat. */
.ac-photo-opaque .ac-single .woocommerce-product-gallery__wrapper img,
.ac-photo-opaque .ac-single .flex-control-thumbs img { mix-blend-mode: normal; }

/* `position: sticky` on the gallery opens a stacking context, and a multiply
   image blends only with the backdrop inside its own context — so the photo
   was compositing against nothing and the white stayed put. Painting the
   ground inside that context gives the blend something to multiply into. */
.ac-single .woocommerce-product-gallery__image,
.ac-single .flex-control-thumbs li { background: var(--ac-bg); }

.ac-single .related,
.ac-single .upsells { margin-top: 56px; padding-top: 42px; }

/* ----------------------------------------------------------- pagination
   Sits directly under the grid with no separation and in WooCommerce's own
   boxed-number styling, which belongs to a different site. */

.ac-shop__main .woocommerce-pagination {
  margin: 56px 0 0;
  padding-top: 34px;
  border-top: 1px solid var(--ac-line);
  text-align: center;
}
.ac-shop__main .woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.ac-shop__main .woocommerce-pagination li {
  margin: 0;
  border: 0;
  list-style: none;
}
.ac-shop__main .woocommerce-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 6px;
  border-radius: var(--ac-radius-pill);
  background: none;
  font-family: var(--ac-font-label);
  font-size: 14px;
  letter-spacing: .04em;
  color: var(--ac-ink-soft);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.ac-shop__main .woocommerce-pagination a.page-numbers:hover {
  background: var(--ac-surface);
  color: var(--ac-ink);
}
.ac-shop__main .woocommerce-pagination .page-numbers.current {
  background: var(--ac-ink);
  color: var(--ac-on-dark);
}
.ac-shop__main .woocommerce-pagination .prev,
.ac-shop__main .woocommerce-pagination .next {
  color: var(--ac-accent-deep);
  font-size: 17px;
}
.ac-shop__main .woocommerce-pagination .dots { color: var(--ac-ink-muted); }
