
/* High at 60 Version 6 shared Analyze + Compare polish */
.tool-v6 .container{max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px}
.tool-v6 .tool-input-card,
.tool-v6 .compare-flower-card{
  overflow:hidden;border:1px solid #cfdacf;border-radius:16px;background:#fff;
  box-shadow:0 8px 24px rgba(23,63,27,.08)
}
.tool-v6 .tool-input-card{max-width:1080px;margin:0 auto 24px}
.tool-v6 .tool-card-heading{padding:20px 24px;background:#f4f8f4;border-bottom:1px solid #dce5dc}
.tool-v6 .tool-card-heading h2,.tool-v6 .tool-card-heading h3{margin:3px 0 0}
.tool-v6 .tool-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px}
.tool-v6 .full-width-field{grid-column:1/-1}
.tool-v6 .form-field label{display:block;margin-bottom:8px;font-weight:800;color:#203c26}
.tool-v6 input,.tool-v6 select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bfcbbf;border-radius:10px;background:#fff;box-sizing:border-box}
.tool-v6 input:focus,.tool-v6 select:focus{outline:3px solid rgba(36,111,52,.16);border-color:#246f34}
.tool-v6 .dynamic-terpene-section{grid-column:1/-1;margin-top:8px;padding-top:22px;border-top:2px solid #e3ebe3}
.tool-v6 .dynamic-terpene-section h3{margin:0 0 5px}
.tool-v6 .dynamic-terpene-help{margin:0 0 14px;color:#59635b}
.tool-v6 .dynamic-terpene-list{display:flex;flex-direction:column;gap:12px}
.tool-v6 .dynamic-terpene-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(120px,.75fr) 112px;gap:12px;align-items:end}
.tool-v6 .remove-dynamic-terpene{width:112px;min-height:48px;padding:10px 12px;border:1px solid #9b4545;border-radius:10px;background:#fff;color:#842c2c;font-weight:800;cursor:pointer}
.tool-v6 .add-terpene-wide{display:block;width:100%;min-height:54px;margin-top:14px;border:2px solid #246f34;border-radius:11px;background:#edf6ee;color:#174d23;font-weight:900;font-size:1rem;cursor:pointer}
.tool-v6 .add-terpene-wide:hover,.tool-v6 .add-terpene-wide:focus-visible{background:#dff0e1;box-shadow:0 0 0 4px rgba(36,111,52,.15)}
.tool-v6 .analyzer-actions{display:flex;justify-content:center;gap:14px;margin:28px 0;flex-wrap:wrap}
.tool-v6 .analysis-report{margin-top:36px;padding:26px;border:1px solid #d1dbd2;border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(20,48,25,.1)}
.tool-v6 .analysis-report-heading{text-align:center}
.tool-v6 .analysis-report-cards{display:flex;flex-direction:column;gap:20px}
.tool-v6 .result-card,.tool-v6 .complete-flower-result{padding:22px;border:1px solid #d8e2d8;border-radius:14px;background:#fff}
.tool-v6 .result-card h3,.tool-v6 .complete-flower-result h3{margin-top:0;color:#1f5029}
.tool-v6 .result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tool-v6 .result-section{padding:18px;border:1px solid #e0e7e0;border-radius:12px;background:#f8fbf8}
.tool-v6 .result-section h4{margin:0 0 10px;color:#1f5029}
.tool-v6 .goal-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tool-v6 .goal-chip{padding:14px;border-left:5px solid #2d7d3a;border-radius:10px;background:#f4f8f4}
.tool-v6 .goal-chip strong{display:block;margin-bottom:5px}
.tool-v6 .entered-terpenes{margin:8px 0 0 20px}
.tool-v6 .analysis-report-actions{display:flex;justify-content:center;align-items:center;margin:30px auto 18px;text-align:center}
.tool-v6 .analysis-print-disclaimer{max-width:780px;margin:0 auto;text-align:center;line-height:1.6}
.tool-v6 .form-error{max-width:800px;margin:12px auto;padding:12px 15px;border:1px solid #b84b4b;border-radius:10px;background:#fff5f5;color:#8b2525;font-weight:700}
@media(min-width:1101px){
  .tool-v6 .compare-flower-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;align-items:start}
}
@media(max-width:1100px){
  .tool-v6 .compare-flower-grid{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
}
@media(max-width:760px){
  .tool-v6 .tool-form-grid,.tool-v6 .result-grid,.tool-v6 .goal-chip-grid{grid-template-columns:1fr}
  .tool-v6 .full-width-field,.tool-v6 .dynamic-terpene-section{grid-column:1}
  .tool-v6 .dynamic-terpene-row{grid-template-columns:1fr}
  .tool-v6 .remove-dynamic-terpene{width:100%}
  .tool-v6 .analysis-report{padding:18px}
  .tool-v6 .analyzer-actions{display:grid;grid-template-columns:1fr}
  .tool-v6 .analyzer-actions button{width:100%}
}
@media print{
  .site-header,.site-footer,.analyzer-hero,.analyzer-form,.compare-form,.analysis-report-actions{display:none!important}
  .tool-v6 .analysis-report{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}
}


/* High at 60 dynamic terpene entry + goal comparison upgrades */
.dynamic-terpene-section{grid-column:1/-1;margin-top:10px;padding-top:22px;border-top:2px solid #dce7dd}
.dynamic-terpene-section h3{margin:0 0 5px}
.dynamic-terpene-help{margin:0 0 14px;color:#59635b}
.dynamic-terpene-list{display:flex;flex-direction:column;gap:13px}
.dynamic-terpene-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) auto;gap:13px;align-items:end}
.dynamic-terpene-row select,.dynamic-terpene-row input{width:100%;min-height:50px}
.add-terpene-wide{display:block;width:100%;min-height:54px;margin-top:14px;border:2px solid #246f34;border-radius:11px;background:#edf6ee;color:#174d23;font-weight:900;font-size:1rem;cursor:pointer}
.add-terpene-wide:hover,.add-terpene-wide:focus-visible{background:#dff0e1;box-shadow:0 0 0 4px rgba(36,111,52,.15)}
.remove-dynamic-terpene{min-height:50px;padding:10px 14px;border:1px solid #9b4545;border-radius:9px;background:#fff;color:#842c2c;font-weight:800;cursor:pointer}
.goal-winner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.goal-winner-card{padding:18px;border:1px solid #d8e2d8;border-left:5px solid #2d7d3a;border-radius:12px;background:#f8fbf8}
.goal-winner-card h4{margin:0 0 8px}
.goal-winner-card p{margin:6px 0}
.goal-score-line{font-size:.92rem;color:#57635a}
.score-table-wrap{overflow-x:auto}
.score-table{width:100%;min-width:850px;border-collapse:collapse}
.score-table th,.score-table td{padding:12px;border:1px solid #dce4dc;text-align:center}
.score-table th{background:#f2f7f2}
.score-table th:first-child,.score-table td:first-child{text-align:left}
@media(max-width:720px){
 .dynamic-terpene-row{grid-template-columns:1fr}
 .remove-dynamic-terpene{width:100%}
 .goal-winner-grid{grid-template-columns:1fr}
}


/* Version 4 layout corrections */
.compare-flower-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:24px !important;
}
.compare-flower-card{
  width:100% !important;
  max-width:none !important;
}

.dynamic-terpene-row{
  grid-template-columns:minmax(0,1.65fr) minmax(120px,.75fr) 112px !important;
}
.dynamic-terpene-row > div:first-child{
  min-width:0;
}
.dynamic-terpene-row > div:nth-child(2){
  min-width:0;
}
.remove-dynamic-terpene{
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
  box-sizing:border-box;
}

@media(max-width:720px){
  .dynamic-terpene-row{
    grid-template-columns:1fr !important;
  }
  .remove-dynamic-terpene{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* Version 5 final responsive card layout */

/* Wide desktop: two product-entry cards side by side. */
@media (min-width: 1101px) {
  .compare-flower-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .compare-flower-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* Keep the fields inside each product card usable in the narrower card. */
  .compare-flower-card .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .compare-flower-card .full-width-field,
  .compare-flower-card .dynamic-terpene-section {
    grid-column: 1 / -1 !important;
  }
}

/* Narrow desktop, tablet, and mobile: stack product cards. */
@media (max-width: 1100px) {
  .compare-flower-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .compare-flower-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Results remain full-width and stacked at every screen size. */
#compare-results-content,
#vape-compare-results-content {
  display: block !important;
}

#compare-results-content > article,
#vape-compare-results-content > article,
.complete-flower-result {
  width: 100% !important;
  max-width: none !important;
  margin-bottom: 20px !important;
}

/* Goal cards may use two columns only when there is sufficient room. */
@media (min-width: 900px) {
  .goal-winner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 899px) {
  .goal-winner-grid {
    grid-template-columns: 1fr !important;
  }
}

/* On phones, every form field and terpene control becomes full width. */
@media (max-width: 700px) {
  .compare-flower-card .form-grid {
    grid-template-columns: 1fr !important;
  }

  .compare-flower-card .form-field,
  .compare-flower-card .full-width-field,
  .compare-flower-card .dynamic-terpene-section {
    grid-column: 1 !important;
  }

  .add-terpene-wide {
    font-size: 0.95rem;
    padding-left: 12px;
    padding-right: 12px;
  }
}


/* Testing/polish update: keep paired form controls aligned even when a label wraps. */
.tool-v6 .tool-form-grid > .form-field > label,
.tool-v6 .compare-flower-card .tool-form-grid > .form-field > label{
  display:flex;
  align-items:flex-end;
  min-height:2.75em;
  line-height:1.25;
}

@media(max-width:760px){
  .tool-v6 .tool-form-grid > .form-field > label,
  .tool-v6 .compare-flower-card .tool-form-grid > .form-field > label{
    min-height:0;
  }
}

/* Version 6.2 label alignment correction.
   Required badges must never push paired inputs lower than neighboring fields. */
.tool-v6 .required-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin-left:7px;
  white-space:nowrap;
  vertical-align:middle;
}

@media (min-width:761px){
  .tool-v6 .tool-form-grid > .form-field > label,
  .tool-v6 .compare-flower-card .form-grid > .form-field > label{
    display:flex !important;
    align-items:flex-start !important;
    flex-wrap:wrap;
    align-content:flex-start;
    min-height:3.2rem !important;
    margin-bottom:8px !important;
    line-height:1.25;
    box-sizing:border-box;
  }
}

@media (max-width:760px){
  .tool-v6 .tool-form-grid > .form-field > label,
  .tool-v6 .compare-flower-card .form-grid > .form-field > label{
    min-height:0 !important;
  }
}
