/* =========================================================================
   Care Guide — on-screen article components (The Planters' Guild)
   Genus/care-group guide: hero, at-a-glance grid, range map, species cards,
   print action. References tokens.css variables — no raw hex.
   Print output is the separate 8.5x11 sheet route (opened via the Print button).
   ========================================================================= */

.cg-page{max-width:var(--container-width);margin:0 auto;padding:0 var(--gutter);}
.cg-breadcrumb{font-family:var(--font-sans);font-size:.8rem;color:var(--aged-ink);margin:1.4rem 0 .3rem;}
.cg-breadcrumb a{color:var(--aged-ink);}
.cg-kicker{font-family:var(--font-sans);font-weight:600;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--color-accent-warm);margin:.2rem 0;}
.cg-title{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:2.6rem;
  line-height:1.05;color:var(--walnut);margin:.1rem 0;}
.cg-meta{font-family:var(--font-sans);font-size:.82rem;color:var(--aged-ink);
  display:flex;gap:14px;flex-wrap:wrap;margin:.5rem 0;}
.cg-hero-band{aspect-ratio:24/10;overflow:hidden;border-radius:var(--radius-md);
  margin:1rem 0 0;background:var(--kraft);}
.cg-hero-band img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block;}

.cg-layout{display:grid;grid-template-columns:1fr 260px;gap:40px;margin:1.6rem 0 3rem;align-items:start;}
@media(max-width:900px){.cg-layout{grid-template-columns:1fr;}}
.cg-body{font-family:var(--font-serif);font-size:1.02rem;line-height:1.62;color:var(--walnut);}
.cg-body .lede{font-size:1.2rem;line-height:1.5;margin:0 0 1.2rem;}
.cg-body p{margin:.2rem 0 .8rem;}
.cg-body p .lead{font-weight:600;}

.cg-h{font-family:var(--font-serif);font-weight:600;color:var(--color-accent);font-size:1.35rem;
  margin:2rem 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--color-rule);}

/* print action */
.cg-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 1.6rem;
  padding:14px 16px;background:var(--kraft);border:1px solid var(--color-rule);border-radius:var(--radius-md);}
.cg-print{display:inline-flex;align-items:center;gap:8px;background:var(--color-accent);color:var(--cream);
  border:none;border-radius:var(--radius-sm);padding:11px 18px;font-family:var(--font-sans);font-weight:600;
  font-size:.95rem;cursor:pointer;line-height:1;}
.cg-print:hover{background:var(--walnut);}
.cg-print svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cg-actions .note{font-size:.85rem;color:var(--aged-ink);}

/* at-a-glance grid */
.cg-glance{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--color-rule);
  border-bottom:none;margin:1.1rem 0 1.9rem;}
.cg-glance .cell{border-bottom:1px solid var(--color-rule);border-right:1px solid var(--color-rule);padding:14px 14px 16px;}
.cg-glance .cell:nth-child(4n){border-right:none;}
.cg-glance .ic{width:22px;height:22px;margin-bottom:8px;}
.cg-glance .ic svg{width:100%;height:100%;stroke:var(--color-accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.cg-glance .k{font-family:var(--font-sans);font-weight:600;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--aged-ink);margin-bottom:3px;}
.cg-glance .v{font-size:.9rem;line-height:1.35;color:var(--walnut);}
.cg-glance .v b{font-weight:600;}
@media(max-width:720px){.cg-glance{grid-template-columns:repeat(2,1fr);}
  .cg-glance .cell:nth-child(4n){border-right:1px solid var(--color-rule);}
  .cg-glance .cell:nth-child(2n){border-right:none;}}

/* range map */
.cg-mapfig{margin:1.1rem 0 1.6rem;border:1px solid var(--color-rule);background:var(--cream);padding:10px;}
.cg-mapfig .frame{text-align:center;}
.cg-mapfig svg{max-width:100%;height:auto;max-height:260px;}
.cg-mapfig figcaption{font-size:.8rem;color:var(--aged-ink);margin-top:8px;}
.cg-mapfig .swatch{display:inline-block;width:10px;height:10px;background:var(--color-accent-warm);opacity:.6;
  border:.5px solid var(--color-accent-warm);margin-right:5px;vertical-align:middle;}
.cg-mapfig .corner{display:none;}

/* callout */
.cg-callout{background:var(--kraft);border-left:3px solid var(--color-accent-warm);padding:12px 16px;margin:1.2rem 0;}
.cg-callout .h{font-family:var(--font-sans);font-weight:700;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--color-accent-warm);margin-bottom:4px;}
.cg-callout p{margin:0;font-size:.92rem;line-height:1.5;}

/* pests table */
.cg-ptable{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font-size:.9rem;}
.cg-ptable th{background:var(--color-accent);color:var(--cream);text-align:left;padding:8px 10px;
  font-family:var(--font-sans);font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}
.cg-ptable td{padding:9px 10px;border-bottom:1px solid var(--color-rule);vertical-align:top;line-height:1.4;}
.cg-ptable tr:nth-child(even) td{background:rgba(232,221,200,.35);}
.cg-ptable td:first-child{font-weight:600;width:28%;}
.cg-ptable td:nth-child(2){width:34%;color:var(--aged-ink);}

/* species roster */
.cg-roster-note{font-size:.82rem;color:var(--aged-ink);font-style:italic;margin:.2rem 0 0;}
.cg-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:1.1rem 0 1.6rem;}
@media(max-width:720px){.cg-roster{grid-template-columns:repeat(2,1fr);}}
.cg-card{border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden;background:#fff;}
.cg-photo{aspect-ratio:4/3;background-color:var(--kraft);
  background-image:repeating-linear-gradient(45deg,transparent,transparent 9px,rgba(42,33,27,.05) 9px,rgba(42,33,27,.05) 18px);
  display:flex;align-items:center;justify-content:center;color:var(--aged-ink);
  font-family:var(--font-sans);font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;}
.cg-card .body{padding:11px 13px 13px;}
.cg-card .bin{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:1rem;color:var(--walnut);margin:0;}
.cg-card .diff{font-size:.83rem;line-height:1.42;color:var(--aged-ink);margin:.3rem 0 0;}
.cg-card a.own,.cg-card .own{display:inline-block;margin-top:7px;font-family:var(--font-sans);font-weight:600;
  font-size:.72rem;color:var(--color-accent-warm);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;}

/* safety + sources */
.cg-safety{background:var(--kraft);border-left:3px solid var(--color-accent-warm);padding:14px 16px;margin:1.2rem 0;}
.cg-safety .lbl{font-family:var(--font-sans);font-weight:700;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--color-accent-warm);display:block;margin-bottom:4px;}
.cg-safety p{margin:0;font-size:.9rem;line-height:1.5;}
.cg-sources{margin:1.4rem 0;}
.cg-sources .lbl{font-family:var(--font-serif);font-weight:600;color:var(--color-accent);font-size:1.05rem;margin-bottom:.4rem;}
.cg-sources p{font-size:.78rem;line-height:1.45;color:var(--aged-ink);padding-left:16px;text-indent:-16px;margin:.2rem 0;}
.cg-sources .note{text-indent:0;padding-left:0;font-style:italic;margin-top:.4rem;}

/* sidebar */
.cg-side{position:sticky;top:20px;}
.cg-qf{border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:14px 16px;background:var(--cream);}
.cg-qf .lbl{font-family:var(--font-sans);font-weight:600;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--aged-ink);margin-bottom:8px;}
.cg-qf .row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;
  border-bottom:1px solid var(--color-rule);font-size:.85rem;}
.cg-qf .row:last-child{border-bottom:none;}
.cg-qf .row .k{color:var(--aged-ink);}
.cg-qf .row .v{color:var(--walnut);font-weight:600;text-align:right;}
.cg-side .cg-print{width:100%;justify-content:center;margin-top:14px;}

/* hidden printable frame (button calls its print()) */
.cg-sheet-frame{position:absolute;left:-99999px;top:0;width:8.5in;height:23in;border:0;}

@media print{
  .cg-actions,.cg-side,.cg-hero-band,.cg-breadcrumb{display:none !important;}
}
