/* Approved Wings sewn-linen material layer. Load after tokens.css.
   Add .w-material to a theme container. All decoration is CSS and inert. */
.w-material {
  --w-active-fill: #F1E3D1;
  --w-thread: rgba(120,135,119,.52);
  --w-weave: rgba(53,72,61,.014);
  --w-lift: rgba(16,44,44,.12);
  --w-button-thread: rgba(53,72,61,.27);
}
.w-material[data-theme="dark"] {
  --w-active-fill: var(--w-selected);
  --w-thread: rgba(147,168,157,.52);
  --w-weave: rgba(238,236,221,.014);
  --w-lift: rgba(0,15,17,.22);
  --w-button-thread: rgba(32,61,64,.27);
}
.w-material .w-sewn {
  position: relative;
  isolation: isolate;
  background-color: var(--w-canvas);
  background-image: repeating-linear-gradient(0deg,var(--w-weave) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,var(--w-weave) 0 1px,transparent 1px 5px);
  box-shadow: 0 3px 0 var(--w-lift),inset 0 1px 0 rgba(255,255,255,.08);
}
.w-material .w-sewn::after,
.w-material .w-button:not(.w-button--secondary):not(.w-button--quiet):not(.w-button--danger)::after {
  content: "";
  position: absolute;
  pointer-events: none;
  inset: 7px;
  border: 1px dashed var(--w-thread);
  border-radius: 17px;
}
.w-material .w-sewn > * { position: relative; z-index: 1; }
.w-material .w-card { box-shadow: 0 2px 0 var(--w-lift); }
.w-material .w-button:not(.w-button--quiet) {
  position: relative;
  box-shadow: 0 2px 0 var(--w-lift),inset 0 1px 0 rgba(255,255,255,.35);
  transition: background-color var(--w-duration-control) var(--w-ease),box-shadow var(--w-duration-press) var(--w-ease);
}
.w-material .w-button:not(.w-button--secondary):not(.w-button--quiet):not(.w-button--danger)::after {
  inset: 5px;
  border-color: var(--w-button-thread);
  border-radius: 9px;
}
.w-material .w-button:active:not(:disabled) { box-shadow: inset 0 1px 1px var(--w-lift); }
.w-material .w-button:disabled { box-shadow: none; }
.w-material .w-button:disabled::after { display: none; }
.w-material .w-input { box-shadow: inset 0 2px 1px var(--w-lift); }
.w-material .w-chip {
  position: relative;
  box-shadow: 0 2px 0 var(--w-lift),inset 0 1px 0 rgba(255,255,255,.18);
  transition: box-shadow var(--w-duration-press) var(--w-ease),background-color var(--w-duration-control) var(--w-ease);
}
.w-material .w-chip::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px dashed var(--w-thread);
  border-radius: inherit;
  opacity: .65;
  pointer-events: none;
}
.w-material .w-chip[aria-pressed="true"] { background: var(--w-active-fill); }
.w-material .w-chip[aria-pressed="true"], .w-material .w-chip:active {
  box-shadow: inset 0 1px 2px var(--w-lift);
}
.w-material .w-nav {
  position: relative;
  padding: 8px;
  border: 1px solid var(--w-divider);
  box-shadow: 0 2px 0 var(--w-lift),inset 0 1px 0 rgba(255,255,255,.12);
}
.w-material .w-nav::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px dashed var(--w-thread);
  border-radius: 13px;
  opacity: .65;
  pointer-events: none;
}
.w-material .w-nav__item { position: relative; z-index: 1; }
.w-material .w-nav__item[aria-current="page"] {
  background: var(--w-active-fill);
  box-shadow: 0 2px 0 var(--w-lift),0 -1px 0 rgba(255,255,255,.18);
}
.w-material .w-nav__item[aria-current="page"]::after {
  content: "";
  position: absolute;
  height: 2px;
  bottom: 2px;
  inset-inline: 20%;
  background: var(--w-focus);
  border-radius: 2px;
  pointer-events: none;
}
@media (forced-colors: active) {
  .w-material .w-sewn { background-image: none; }
  .w-material .w-sewn::after, .w-material .w-button::after,
  .w-material .w-chip::after, .w-material .w-nav::after { display: none; }
}


/* Approved menu title patch (Round 11, option B). */
.w-menu-heading { text-align: center; padding: 0 40px 14px; }
.w-material .w-title-patch {
  position: relative; display: inline-block; max-width: 100%; margin: 0;
  padding: 10px 18px; border-radius: 9px;
  background: var(--w-active-fill); color: var(--w-text);
  box-shadow: 0 2px 0 var(--w-lift), inset 0 1px 0 rgba(255,255,255,.19);
  font: 500 25px/1.22 var(--w-font-heading); letter-spacing: -.025em;
  text-wrap: balance; overflow-wrap: anywhere;
}
.w-material .w-title-patch::after {
  content: ""; position: absolute; inset: 4px; border-radius: 6px;
  border: 1px dashed var(--w-thread); pointer-events: none;
}
@media (max-width: 600px) { .w-material .w-title-patch { font-size: 24px; } }
@media (forced-colors: active) { .w-material .w-title-patch::after { display: none; } }
