/* SweetCutePets Free Tools. Self-contained: it works inside any theme and inside the shared header/footer of the presentation package. Colours follow the
   site's own palette (teal text, orange action, soft cream surfaces); there are no external fonts or images. */
.scp-tools { --scp-t-ink: #1e293b; --scp-t-head: #042f2e; --scp-t-teal: #115e59; --scp-t-action: #f26522; --scp-t-action-hover: #ea580c; --scp-t-line: #e2e8f0; --scp-t-soft: #faf8f5; --scp-t-mute: #475569; --scp-t-err: #b91c1c;
  margin: 0 auto; color: var(--scp-t-ink); line-height: 1.6; font-size: 1rem; }
.scp-tool.scp-wide { --scp-wide-max: 62rem; } /* a tool's form reads better narrower than the grid of tools */
.scp-tools *, .scp-tools *::before, .scp-tools *::after { box-sizing: border-box; }
.scp-tools h2 { color: var(--scp-t-head); line-height: 1.25; margin: 1.6em 0 .5em; font-size: 1.35rem; font-weight: 800; }
.scp-tools-lead { font-size: 1.125rem; margin: 0 0 .75rem; }
.scp-tools-note, .scp-tools-privacy { margin: 0 0 1.25rem; padding: .6rem .9rem; font-size: .9rem; color: var(--scp-t-teal); background: #f0fdfa; border: 1px solid #99f6e4; border-radius: .75rem; }
.scp-tool-crumbs { margin: 0 0 .75rem; font-size: .875rem; color: var(--scp-t-mute); }
.scp-tool-crumbs a { color: var(--scp-t-teal); }

/* the grid of tools */
.scp-tools-grid { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .scp-tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .scp-tools-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.scp-tool-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem; background: #fff; border: 1px solid var(--scp-t-line); border-radius: 1rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .05); }
.scp-tool-card-icon { display: inline-flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; color: var(--scp-t-teal); background: #ecfdf5; border-radius: 999px; }
.scp-tool-card-title { margin: .25rem 0 0; font-size: 1.1rem; font-weight: 800; }
.scp-tools .scp-tool-card-title a { color: var(--scp-t-head); text-decoration: none; } /* the extra class outranks `.scp-tools a` */
.scp-tools .scp-tool-card-title a:hover { text-decoration: underline; }
.scp-tool-card-text { margin: 0; color: var(--scp-t-mute); font-size: .95rem; flex: 1; }
.scp-tool-card .scp-tool-btn { align-self: flex-start; }

/* controls */
.scp-tool-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.75rem; padding: .6rem 1.2rem; font: inherit; font-weight: 700; color: #fff !important; background: var(--scp-t-action); border: 1px solid transparent; border-radius: 999px; text-decoration: none !important; cursor: pointer; }
.scp-tool-btn:hover { background: var(--scp-t-action-hover); }
.scp-tool-btn.secondary { color: var(--scp-t-ink) !important; background: #fff; border-color: #cbd5e1; }
.scp-tool-btn.secondary:hover { background: #f1f5f9; }
.scp-tools :focus-visible { outline: 3px solid var(--scp-t-action); outline-offset: 2px; }
.scp-tool-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }
.scp-tool-form { margin: 0 0 1rem; padding: 1.1rem; background: #fff; border: 1px solid var(--scp-t-line); border-radius: 1rem; }
.scp-tool-fieldset { margin: 0 0 1rem; padding: 0; border: 0; min-width: 0; }
.scp-tool-fieldset legend { padding: 0; margin: 0 0 .4rem; font-weight: 700; color: var(--scp-t-head); }
.scp-tool-radios { display: flex; flex-wrap: wrap; gap: .5rem; }
.scp-tool-radio { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .35rem .9rem; background: var(--scp-t-soft); border: 1px solid #cbd5e1; border-radius: 999px; cursor: pointer; }
.scp-tool-radio:has(input:checked) { background: #f0fdfa; border-color: var(--scp-t-teal); color: #134e4a; font-weight: 600; }
.scp-tool-field { margin: 0 0 1rem; }
.scp-tool-field label { display: block; margin: 0 0 .25rem; font-weight: 600; }
.scp-tool-field input[type="text"], .scp-tool-field input[type="number"], .scp-tool-field input[type="date"], .scp-tool-field input[type="tel"], .scp-tool-field select, .scp-tool-field textarea,
.scp-tool-cost-row input, .scp-tool-cost-row select { width: 100%; min-height: 2.75rem; padding: .5rem .75rem; font: inherit; color: var(--scp-t-ink); background: #fff; border: 1px solid #94a3b8; border-radius: .6rem; }
.scp-tool-field textarea { min-height: 5rem; resize: vertical; }
.scp-tool-field [aria-invalid="true"], .scp-tool-cost-row [aria-invalid="true"] { border-color: var(--scp-t-err); }
.scp-tool-row { display: grid; gap: .75rem; grid-template-columns: 1fr 1fr; }
.scp-tool-hint { margin: .25rem 0 0; font-size: .85rem; color: var(--scp-t-mute); }
.scp-tool-error { margin: .25rem 0 0; font-size: .875rem; font-weight: 600; color: var(--scp-t-err); }
.scp-tool-error:empty { display: none; }
.scp-tool-currency { max-width: 8rem; text-transform: uppercase; }
.scp-tool-fields { display: grid; gap: 0 1rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .scp-tool-fields { grid-template-columns: 1fr 1fr; } .scp-tool-fields .scp-tool-wide { grid-column: 1 / -1; } }
.scp-tool-remember label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; }

/* cost rows */
.scp-tool-cost-row { display: grid; gap: .4rem .6rem; grid-template-columns: 1fr; margin: 0 0 .9rem; }
@media (min-width: 700px) { .scp-tool-cost-row { grid-template-columns: minmax(12rem, 1.4fr) minmax(7rem, 1fr) minmax(9rem, 1fr); align-items: center; } .scp-tool-cost-row .scp-tool-error { grid-column: 1 / -1; margin: 0; } }
.scp-tool-cost-label { font-weight: 600; }

/* results */
.scp-tool-result { margin: 1rem 0; padding: 1.25rem; background: #fff; border: 2px solid var(--scp-t-teal); border-radius: 1rem; }
.scp-tool-result h2 { margin: 0 0 .25rem; font-size: 1.6rem; }
.scp-tool-result h2:focus { outline: none; }
.scp-tool-big { margin: 0 0 .5rem; font-size: 1.15rem; font-weight: 700; color: var(--scp-t-teal); }
.scp-tool-disclaimer, .scp-tool-method-note { font-size: .875rem; color: var(--scp-t-mute); }
.scp-tool-table { width: 100%; border-collapse: collapse; margin: .75rem 0; font-size: .95rem; }
.scp-tool-table caption { text-align: left; font-weight: 700; padding: 0 0 .4rem; }
.scp-tool-table th, .scp-tool-table td { padding: .5rem .4rem; text-align: left; border-bottom: 1px solid var(--scp-t-line); vertical-align: top; }
.scp-tool-table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--scp-t-mute); }
.scp-tool-share { display: inline-block; min-width: 2.5rem; }
.scp-tool-bar { display: inline-block; width: 4.5rem; height: .5rem; background: #e2e8f0; border-radius: 999px; vertical-align: middle; overflow: hidden; }
.scp-tool-bar span { display: block; height: 100%; background: var(--scp-t-teal); }
@media (max-width: 599px) { .scp-tool-table thead { display: none; } .scp-tool-table tr { display: block; padding: .4rem 0; border-bottom: 1px solid var(--scp-t-line); } .scp-tool-table th, .scp-tool-table td { display: block; border: 0; padding: .1rem 0; } }

/* checklists */
.scp-tool-progress { margin: 0 0 1rem; }
.scp-tool-progress-text { margin: 0 0 .35rem; font-weight: 700; }
.scp-tool-progressbar { height: .8rem; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.scp-tool-progressbar span { display: block; height: 100%; background: var(--scp-t-teal); transition: width .25s ease; }
@media (prefers-reduced-motion: reduce) { .scp-tool-progressbar span { transition: none; } }
.scp-tool-cat { margin: 1.4rem 0 .4rem; font-size: 1.05rem; color: var(--scp-t-head); }
.scp-tool-items { list-style: none; margin: 0; padding: 0; }
.scp-tool-item { margin: 0 0 .4rem; background: #fff; border: 1px solid var(--scp-t-line); border-radius: .75rem; }
.scp-tool-item label { display: grid; grid-template-columns: 1.6rem 1fr; gap: .1rem .7rem; padding: .7rem .8rem; cursor: pointer; align-items: start; }
.scp-tool-item input { width: 1.4rem; height: 1.4rem; margin: .1rem 0 0; grid-row: 1 / span 2; accent-color: var(--scp-t-teal); }
.scp-tool-item.done .scp-tool-item-text { text-decoration: line-through; color: var(--scp-t-mute); }
.scp-tool-item-hint { grid-column: 2; font-size: .85rem; color: var(--scp-t-mute); }

/* emergency card */
.scp-tool-preview { margin: 1rem 0; }
.scp-tool-h { margin: 0 0 .5rem; }
.scp-ecard { max-width: 34rem; padding: 1.25rem 1.4rem; background: #fff; border: 4px solid #1d4ed8; border-radius: 1rem; color: #111827; }
.scp-ecard-kicker { margin: 0; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #b91c1c; }
.scp-ecard-name { margin: .1rem 0 .75rem; font-size: 2rem; font-weight: 800; line-height: 1.15; overflow-wrap: anywhere; }
.scp-ecard-list { margin: 0; display: grid; grid-template-columns: 1fr; gap: .1rem .9rem; }
@media (min-width: 480px) { .scp-ecard-list { grid-template-columns: 9rem 1fr; } }
.scp-ecard-list dt { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: #4b5563; margin-top: .5rem; }
.scp-ecard-list dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.scp-ecard-foot { margin: 1rem 0 0; font-size: .85rem; font-style: italic; color: #4b5563; }
.scp-ecard-empty { margin: 0; color: var(--scp-t-mute); }

/* the account call to action and the explanations */
.scp-tool-cta { margin: 1.5rem 0; padding: 1rem 1.2rem; background: #f4ebd9; border-radius: 1rem; }
.scp-tool-cta-title { margin: 0 0 .25rem; font-weight: 800; color: var(--scp-t-head); }
.scp-tool-cta p { margin: 0 0 .5rem; }
.scp-tool-method p, .scp-tool-next-list li { margin: 0 0 .75rem; }
.scp-tool-next-list, .scp-tool-more-list { padding-left: 1.2rem; }
.scp-tools a { color: #c2410c; }
.scp-tool-nojs { padding: 1rem; background: #fff7ed; border: 1px solid #fdba74; border-radius: .75rem; }

/* print: only the card or the checklist reaches the paper */
@media print {
  body.scp-printing * { visibility: hidden !important; }
  body.scp-printing .scp-print-target, body.scp-printing .scp-print-target * { visibility: visible !important; }
  body.scp-printing .scp-print-target { position: absolute; left: 0; top: 0; width: 100%; max-width: none; margin: 0; }
  .scp-tool-item { break-inside: avoid; border-color: #999; }
}
