/* Shared educational figures and valuation model for company stock analyses. */
.stock-visual { margin: 30px 0; overflow: hidden; border: 1px solid #d4e2ee; border-radius: 14px; background: #f4f8fc; }
.stock-visual picture { display: block; }
.stock-visual img { display: block; width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; }
.stock-visual figcaption { padding: 18px 22px; border-top: 1px solid #d4e2ee; background: #fff; color: #486078; font-size: .85rem; line-height: 1.65; }
.stock-visual figcaption strong { color: #102a43; }
.stock-visual .stock-visual-open { display: block; margin-top: 9px; font-weight: 700; }
.stock-valuation-tool { margin: 24px 0 30px; padding: 24px; border: 1px solid #bfd7ea; border-radius: 14px; background: #f4f8fc; color: #102a43; }
.stock-valuation-tool[hidden] { display: none; }
.stock-valuation-tool fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.stock-valuation-tool legend { font-size: 1.15rem; font-weight: 800; margin: 0 0 10px; }
.stock-valuation-tool .stock-model-note { font-size: .85rem; line-height: 1.6; margin: 0 0 18px; }
.stock-model-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.stock-model-inputs label { display: grid; gap: 8px; font-size: .9rem; font-weight: 700; }
.stock-model-inputs input { width: 100%; box-sizing: border-box; border: 1px solid #7897b1; background: #fff; border-radius: 7px; padding: 11px; min-height: 46px; font: inherit; color: #102a43; }
.stock-model-status { margin: 18px 0; font-size: 1.03rem; font-weight: 750; line-height: 1.6; }
.stock-model-bars { display: grid; gap: 14px; padding: 6px 0 14px; }
.stock-model-bars[hidden] { display: none; }
.stock-model-bar-label { display: flex; justify-content: space-between; gap: 12px; font-size: .83rem; margin-bottom: 6px; }
.stock-model-track { background: #e1eaf3; height: 18px; border-radius: 4px; overflow: hidden; }
.stock-model-fill { height: 100%; background: #126bcc; width: 90.909%; }
.stock-model-fill[data-model-after] { width: 72.727%; background: #a34232; }
.stock-model-fill[data-direction="up"] { background: #087c70; }
.stock-model-fill[data-direction="same"] { background: #126bcc; }
.stock-model-fill[data-direction="down"] { background: #a34232; }
.stock-model-reset { border: 1px solid #7897b1; border-radius: 7px; background: #fff; padding: 10px 14px; color: #102a43; cursor: pointer; font: inherit; font-size: .85rem; }
.stock-model-reset:hover { background: #e7f0f8; }
@media(max-width:600px) {
  .stock-visual { margin-inline: -8px; }
  .stock-visual figcaption { padding: 14px; }
  .stock-valuation-tool { padding: 17px; }
  .stock-model-inputs { grid-template-columns: 1fr; gap: 14px; }
}
@media print { .stock-visual { break-inside: avoid; } .stock-visual-open, .stock-valuation-tool { display: none; } }
