/* Editor-only layout gallery. Actual page sections carry portable inline styles. */
.vfw-design-chooser {
  min-width: 0;
  margin: .75rem 0 1rem;
  padding: 1rem;
  border: 1px solid #C6C8CA;
  border-radius: .6rem;
  background: #fff;
}
.vfw-design-chooser legend {
  padding: 0 .35rem;
  font: 700 1.15rem Roboto, Arial, sans-serif;
  color: #231F20;
}
.vfw-design-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .8rem;
  margin-top: .8rem;
}
.vfw-design-choice {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
  min-height: 185px;
  padding: .8rem;
  border: 2px solid #C6C8CA;
  border-radius: .55rem;
  background: #fff;
  color: #231F20;
  cursor: pointer;
}
.vfw-design-choice:hover, .vfw-design-choice:focus-within { border-color: #164C83; }
.vfw-design-choice input { width: 20px; height: 20px; accent-color: #991A1E; }
.vfw-design-choice input:focus-visible { outline: 3px solid #164C83; outline-offset: 3px; }
.vfw-design-choice:has(input:checked) { border-color: #991A1E; box-shadow: inset 0 0 0 1px #991A1E; }
.vfw-design-choice strong { font: 700 1rem Roboto,Arial,sans-serif; }
.vfw-design-choice small { font-weight: 700; color: #164C83; }
.vfw-design-choice span:last-child { font: 400 .85rem/1.5 Arial,sans-serif; color: #484848; }
.vfw-design-mini {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-template-rows: 24px 16px 16px;
  gap: 4px;
  padding: 5px;
  border-radius: .3rem;
  background: #F0F0F0;
  border-top: 4px solid #991A1E;
}
.vfw-design-mini i { grid-column: 1/-1; background: #164C83; }
.vfw-design-mini b { grid-column: 1/3; background: #A79055; }
.vfw-design-mini em { grid-column: 3; grid-row: 2/4; background: #C6C8CA; }
.vfw-design-mini-heritage { border-top-width: 7px; }
.vfw-design-mini-modern i { background: #991A1E; }
.vfw-design-mini-community { grid-template-columns: repeat(3,1fr); }
.vfw-design-mini-community b { grid-column: 1/-1; background: #991A1E; }
.vfw-design-mini-leadership i { background: #A79055; }
.vfw-design-mini-leadership em { background: #164C83; }
.vfw-design-mini-events { border-top: 4px solid #164C83; }
.vfw-design-mini-events i { background: #991A1E; }
.vfw-design-mini-resources b { background: #164C83; }
.vfw-design-mini-resources em { background: #A79055; }
.vfw-builder {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #C6C8CA;
  border-radius: .6rem;
  background: #F8F9FA;
}
.vfw-builder .panel-header { display:flex;justify-content:space-between;gap:1rem;align-items:center; }
.vfw-builder h2,.vfw-builder h3 { margin: .25rem 0; color: #231F20; }
.vfw-builder-grid {
  display: grid;
  grid-template-columns: minmax(215px,.8fr) minmax(0,1.7fr);
  gap: 1rem;
  margin: 1rem 0;
}
.vfw-builder-palette {
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-content:start;
  gap: .5rem;
}
.vfw-builder-palette .vfw-palette-item {
  min-width:0;
  min-height:44px;
  padding:.6rem;
  cursor:grab;
  white-space:normal;
  text-align:left;
}
.vfw-builder-board {
  min-width: 0;
  padding:.85rem;
  border:2px dashed #767779;
  border-radius:.45rem;
  background:#fff;
}
.vfw-builder-list { display:grid;gap:.65rem;min-height:55px; }
.vfw-builder-list.is-drop-target { background:#FFF4D5;outline:3px solid #164C83; }
.vfw-builder-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  border:1px solid #C6C8CA;
  border-left:5px solid #A79055;
  border-radius:.4rem;
  padding:.8rem;
  background:#fff;
  color:#231F20;
  cursor:grab;
}
.vfw-builder-row:focus-visible {outline:3px solid #164C83;outline-offset:2px;}
.vfw-builder-row strong {font-family:Roboto,Arial,sans-serif}
.vfw-builder-row p {margin:.3rem 0;font-weight:700}
.vfw-builder-row small {display:block;color:#626366;overflow-wrap:anywhere}
.vfw-builder-actions {display:flex;flex-wrap:wrap;gap:.35rem}
.vfw-builder-actions button {min-height:44px}
.vfw-builder [data-builder-status] {min-height:2em;color:#231F20;font-weight:600}
@media(max-width:850px) {
  .vfw-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vfw-builder-grid{grid-template-columns:1fr}
}
@media(max-width:540px) {
  .vfw-design-grid,.vfw-builder-palette{grid-template-columns:1fr}
  .vfw-design-choice{min-height:0}
  .vfw-builder .panel-header{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce) {
  .vfw-design-choice,.vfw-builder-row{transition:none!important}
}
@media print {
  .vfw-design-chooser,.vfw-builder{display:none!important}
}
