/* Shared heading architecture: icon, title and explanation each own a stable lane and spacing. */
.gv-structured-heading{align-items:center;gap: 16px}
.gv-heading-copy{
  min-width:0;max-width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);grid-auto-rows:auto;
  column-gap: 12px;row-gap: 4px;align-items:center;align-content:center;
}
.gv-heading-copy > .gv-heading-icon{
  grid-column:1;grid-row:1 / span 4;width:32px;height:32px;min-width:32px;display:grid;place-items:center;align-self:center;
  border:1px solid var(--p-border,var(--theme-border,#e5e5e5));border-radius:8px;
  background:var(--p-surface-subdued,var(--theme-elevated,rgba(127,127,127,.08)));
  color:var(--p-action-primary,var(--theme-accent,#2563eb));
}
.gv-heading-copy > .gv-heading-icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gv-heading-copy > :not(.gv-heading-icon){grid-column:2;min-width:0;max-width:100%}
.gv-heading-copy.gv-heading-copy--no-icon{grid-template-columns:minmax(0,1fr);column-gap:0}
.gv-heading-copy.gv-heading-copy--no-icon > :not(.gv-heading-icon){grid-column:1}
.gv-heading-title{margin:0 !important;line-height:1.28 !important;min-width:0;overflow-wrap:anywhere}
.gv-heading-kicker{margin:0 0 1px !important;font-size:11px !important;line-height:1.25 !important;font-weight:600 !important;letter-spacing:.06em;text-transform:uppercase;color:var(--p-text-secondary,var(--theme-muted,#69727d))}
.gv-heading-description{display:block;margin:0 !important;color:var(--p-text-secondary,var(--theme-muted,#69727d)) !important;font-size:12px;line-height:1.5;max-width:72ch}
.gv-heading-description--secondary{margin-top:1px !important;font-size: 11px}

/* Existing section-title components keep their icon but inherit the same rhythm. */
.section-title.gv-heading-copy{grid-template-columns:34px minmax(0,1fr);gap: 4px 12px;align-items:center}
.section-title.gv-heading-copy > .gv-heading-icon,.section-title.gv-heading-copy > :is(.section-title-icon,.settings-section-icon){grid-column:1;grid-row:1 / span 4}
.section-title.gv-heading-copy > .gv-heading-text{grid-column:2;display:grid;gap: 4px;min-width:0}
.section-title.gv-heading-copy > .gv-heading-text > *{min-width:0}

/* Headers with actions retain a clean copy/action split instead of squeezing the description. */
.gv-structured-heading > :is(.page-actions,.panel-actions,.card-actions,.toolbar,.actions,.status,.badge,.gateway-version){flex:0 0 auto;margin-inline-start:auto}
/* Keep the preferred width on the inline axis. A fixed flex-basis becomes a
   280px height when a compact header switches to a vertical layout. */
.gv-structured-heading > .gv-heading-copy{flex:1 1 auto;inline-size:280px}

/* Page-level heading icons are a touch larger while panel icons stay compact. */
:is(.workspace-page-head,.page-head,.page-header,.wallet-page-head).gv-structured-heading > .gv-heading-copy {grid-template-columns:40px minmax(0,1fr);column-gap:12px;row-gap:4px}
:is(.workspace-page-head,.page-head,.page-header,.wallet-page-head) .gv-heading-copy > .gv-heading-icon {width:38px;height:38px;min-width:38px;border-radius:8px}
:is(.workspace-page-head,.page-head,.page-header,.wallet-page-head) .gv-heading-copy > .gv-heading-icon svg {width:18px;height:18px}

/* Heading copy remains multi-line and readable at every width. */
.gv-heading-copy :is(h1,h2,h3,h4,b,strong),.gv-heading-copy :is(p,small,.help){min-width:0;max-width:100%;white-space:normal}
.gv-heading-copy :is(p,small,.help){overflow-wrap:anywhere}

@media(max-width:760px){
  .gv-structured-heading{gap: 12px}
  .gv-heading-copy{grid-template-columns:32px minmax(0,1fr);column-gap: 8px;row-gap: 4px}
  .gv-heading-copy > .gv-heading-icon{width:30px;height:30px;min-width:30px;border-radius:8px}
  :is(.workspace-page-head,.page-head,.page-header,.wallet-page-head).gv-structured-heading > .gv-heading-copy {grid-template-columns:34px minmax(0,1fr);column-gap: 12px}
  :is(.workspace-page-head,.page-head,.page-header,.wallet-page-head) .gv-heading-copy > .gv-heading-icon {width:32px;height:32px;min-width:32px;border-radius:8px}
  .gv-heading-description{font-size: 11px;line-height:1.45}
  .gv-structured-heading > :is(.page-actions,.panel-actions,.card-actions,.toolbar,.actions){width:100%;margin-inline-start:0}
}

/* Icon-free headings use the full copy lane at every breakpoint. */
.gv-structured-heading > .gv-heading-copy.gv-heading-copy--no-icon,
.section-title.gv-heading-copy.gv-heading-copy--no-icon{
  grid-template-columns:minmax(0,1fr);column-gap:0;
}
.section-title.gv-heading-copy.gv-heading-copy--no-icon > .gv-heading-text{
  grid-column:1;
}
