/* Scoped additions to the existing cream, ink and gold free-tool shell. */
[data-pgt-glasssize] .pgt-tool-gs { text-align: left; max-width: 900px; margin-inline: auto; }
[data-pgt-glasssize] .pgt-tool-gs *, [data-pgt-glasssize] .pgt-tool-gs *::before { box-sizing: border-box; }
[data-pgt-glasssize] .pgt-badge { color: #32260a; }
.pgt-tool-gs fieldset { border: 1px solid var(--pgt-line); border-radius: 12px; padding: 18px; margin: 20px 0; min-width: 0; }
.pgt-tool-gs legend { font-weight: 600; padding: 0 8px; }
.pgt-gs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pgt-tool-gs label { display: block; font-size: 15px; font-weight: 600; }
.pgt-tool-gs input, .pgt-tool-gs select, .pgt-tool-gs textarea { display: block; width: 100%; min-height: 48px; margin-top: 7px; padding: 12px; border: 1px solid #8c8374; border-radius: 8px; background: #fff; color: #1a1a1a; font: inherit; font-size: 16px; }
.pgt-gs-hint { display: block; font-size: 13px; line-height: 1.6; color: #595247; font-weight: 400; margin-top: 7px; }
.pgt-gs-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.pgt-gs-actions button { flex: 1 1 220px; margin-top: 0; }
[data-pgt-glasssize] .pgt-cta, [data-pgt-glasssize] .pgt-btn:not(.pgt-btn-secondary) { background: #70550e; color: #fff; min-height: 48px; white-space: normal; }
[data-pgt-glasssize] .pgt-btn-secondary { color: #443511; background: #fff8e5; border: 1px solid #8c742f; min-height: 48px; }
[data-pgt-glasssize] :is(button, input, select, textarea, a, summary, section):focus-visible { outline: 3px solid #285fa6; outline-offset: 4px; }
.pgt-tool-gs [aria-invalid="true"] { border: 2px solid #a32525; }
.pgt-tool-gs [hidden] { display: none !important; }
.pgt-tool-gs button:disabled { opacity: 0.55; cursor: not-allowed; }
.pgt-tool-gs .pgt-status { min-height: 3.4em; color: #443511; }
#pgtGsResult:not(:empty) { margin: 20px 0; padding: 22px; background: #fffaf0; border: 1px solid var(--pgt-line); border-radius: 14px; }
.pgt-gs-diagram { display: block; width: 100%; max-width: 360px; height: auto; margin: 6px auto; }
.pgt-gs-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pgt-gs-metrics div { border: 1px solid var(--pgt-line); border-radius: 8px; padding: 12px; background: white; }
.pgt-gs-metrics dt { font-size: 13px; color: #595247; }
.pgt-gs-metrics dd { margin: 4px 0 0; font-size: 21px; font-weight: 600; overflow-wrap: anywhere; }
.pgt-tool-gs summary { cursor: pointer; min-height: 48px; padding-block: 12px; font-weight: 600; }
.pgt-tool-gs table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pgt-tool-gs th, .pgt-tool-gs td { text-align: left; padding: 9px 5px; border-bottom: 1px solid var(--pgt-line); }
.pgt-tool-gs caption { text-align: left; font-size: 13px; margin-bottom: 8px; }
#pgtGsCopyFallback { min-height: 220px; }
@media (max-width: 540px) {
  .pgt-gs-grid { grid-template-columns: 1fr; }
  .pgt-tool-gs fieldset { padding: 12px; }
  #pgtGsResult:not(:empty) { padding: 12px; }
  .pgt-gs-metrics dd { font-size: 18px; }
  .pgt-gs-actions button { width: 100%; }
  [data-pgt-glasssize] .pgt-hero { padding-top: 34px; }
}

.pgt-gs-warning { border-left: 4px solid #8c5616; padding-left: 12px; }
.pgt-tool-gs .pgt-gs-grid { margin-top: 16px; }
