/* Ausclin Tools — shared design system. Matches the site's Astra palette + fonts. */
.ausclin-tool{
  --at-sage: var(--ast-global-color-0, #72806f);
  --at-rose: var(--ast-global-color-1, #ae6f80);
  --at-ink:  var(--ast-global-color-2, #333c36);
  --at-cream: var(--ast-global-color-4, #f4f3ee);
  --at-line: var(--ast-global-color-7, #d8ded4);
  --at-tan:  var(--ast-global-color-6, #b89276);
  font-family: 'Inter', sans-serif;
  color: var(--at-ink);
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.6;
}
.ausclin-tool *{ box-sizing: border-box; }
.ausclin-tool h2, .ausclin-tool h3, .ausclin-tool legend{ font-family: 'Montserrat', sans-serif; color: var(--at-ink); }

/* Life-stage selector */
.ausclin-tool .at-stage{ display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ausclin-tool .at-stage legend{ width: 100%; }
.ausclin-tool .at-stage-opt{ display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .85rem; border: 1px solid var(--at-line); border-radius: 10px; cursor: pointer; background: #fff; font-weight: 600; }
.ausclin-tool .at-stage-opt:has(input:checked){ border-color: var(--at-sage); background: var(--at-cream); box-shadow: inset 0 0 0 1px var(--at-sage); }
.ausclin-tool .at-stage-opt .at-serving{ font-weight: 400; }
.ausclin-tool .at-stage-note{ width: 100%; font-size: .85rem; color: #6c726b; margin: .6rem 0 0; }

/* Food selection */
.ausclin-tool fieldset{ border: 1px solid var(--at-line); border-radius: 14px; padding: 1.1rem 1.35rem; margin: 0 0 1.25rem; background: #fff; }
.ausclin-tool legend{ font-weight: 700; padding: 0 .4rem; }
.ausclin-tool .at-food-row{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--at-cream); }
.ausclin-tool .at-food-row:last-child{ border-bottom: 0; }
.ausclin-tool .at-food-row label{ flex: 1; }
.ausclin-tool .at-serving{ color: #7c827a; font-size: .9em; }
.ausclin-tool input[type="number"]{ width: 5rem; padding: .4rem .55rem; border: 1px solid var(--at-line); border-radius: 8px; font-family: inherit; }
.ausclin-tool input[type="number"]:focus{ outline: 2px solid var(--at-sage); outline-offset: 1px; }

/* Question rows (yes/no questionnaires, e.g. Mediterranean Diet Score) */
.ausclin-tool .at-question-row{ display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; padding: .5rem 0; border-bottom: 1px solid var(--at-cream); }
.ausclin-tool .at-question-row:last-child{ border-bottom: 0; }
.ausclin-tool .at-question-row label{ display: flex; align-items: center; gap: .5rem; flex: 1; }
.ausclin-tool .at-question-note{ width: 100%; margin: 0; font-size: .85rem; color: #6c726b; font-style: italic; }

/* Result + progress */
.ausclin-tool .at-result[aria-live]{ margin: 1rem 0; font-size: 1.05rem; }
.ausclin-tool .at-result strong{ font-size: 1.5rem; color: var(--at-sage); font-family: 'Montserrat', sans-serif; }
.ausclin-tool .at-progress{ height: 16px; border-radius: 10px; background: var(--at-cream); overflow: hidden; margin: .6rem 0 1rem; }
.ausclin-tool .at-progress > span{ display: block; height: 100%; width: 0; background: var(--at-sage); transition: width .3s ease; }
.ausclin-tool [data-suggestions]{ margin: .5rem 0 1.25rem; padding-left: 1.2rem; }

/* CTA + actions */
.ausclin-tool .at-cta{ display: inline-block; padding: .8rem 1.35rem; border-radius: 10px; background: var(--at-sage); color: #fff; text-decoration: none; font-weight: 700; font-family: 'Montserrat', sans-serif; }
.ausclin-tool .at-cta:hover, .ausclin-tool .at-cta:focus{ filter: brightness(.94); }
.ausclin-tool .at-print{ background: none; border: 1px solid var(--at-line); border-radius: 10px; padding: .6rem 1.1rem; cursor: pointer; margin-left: .5rem; font-family: 'Montserrat', sans-serif; font-weight: 600; color: var(--at-ink); }
.ausclin-tool .at-book-online{ font-size:.9rem; margin:.4rem 0 0; }
.ausclin-tool .at-book-link{ color:var(--at-sage); font-weight:600; }

.ausclin-tool .at-tag{ font-size:.72rem; font-weight:600; padding:.1rem .45rem; border-radius:999px; margin-left:.35rem; }
.ausclin-tool .at-tag--heme{ background:var(--at-cream); color:var(--at-sage); }
.ausclin-tool .at-tag--plant{ background:var(--at-cream); color:var(--at-tan); }

/* Disclaimer */
.ausclin-tool-disclaimer{ font-size: .85rem; color: #6c726b; border-top: 1px solid var(--at-line); margin-top: 1.5rem; padding-top: .8rem; }

@media (max-width: 600px){
  .ausclin-tool .at-food-row{ flex-wrap: wrap; }
}
@media print{
  .ausclin-tool input, .ausclin-tool .at-cta, .ausclin-tool .at-print{ display: none !important; }
}

/* Growth Chart Generator */
.ausclin-tool[data-tool="growth"] .at-indicator{ border: 1px solid var(--at-line); border-radius: 14px; padding: 1.1rem 1.35rem; margin: 0 0 1.25rem; background: #fff; }
.ausclin-tool[data-tool="growth"] .at-indicator h3{ margin-top: 0; }
.ausclin-tool[data-tool="growth"] .at-chart{ margin-top: .75rem; }
.ausclin-tool[data-tool="growth"] .at-chart svg{ display: block; width: 100%; height: auto; background: var(--at-cream); border-radius: 10px; }
.ausclin-tool[data-tool="growth"] .at-source{ font-size: .8rem; color: #6c726b; font-style: italic; margin: .5rem 0 0; }
@media print{
  .ausclin-tool[data-tool="growth"] .at-chart svg{ background: none; }
}
