/* PriceOfCremation tools & components. Colours come from theme tokens with fallbacks. */
.poc-tool, .poc-locsearch, .poc-products, .poc-states, .poc-stateindex { --_teal: var(--poc-teal, #1f5f5b); --_sage: var(--poc-sage-soft, #e8efe6); --_line: var(--poc-line, #d9d4ca); --_ink: var(--poc-ink, #2b2f31); --_warm: var(--poc-warm, #fbf8f3); }

.poc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6em 1.2em; border: 2px solid var(--poc-teal, #1f5f5b); border-radius: 6px; background: var(--poc-teal, #1f5f5b); color: #fff !important; font: inherit; font-weight: 600; line-height: 1.2; text-decoration: none !important; cursor: pointer; }
.poc-btn:hover, .poc-btn:focus-visible { background: var(--poc-teal-dark, #174845); border-color: var(--poc-teal-dark, #174845); }
.poc-btn--ghost { background: transparent; color: var(--poc-teal, #1f5f5b) !important; }
.poc-btn--ghost:hover, .poc-btn--ghost:focus-visible { color: #fff !important; }
.poc-btn:focus-visible, .poc-tool input:focus-visible, .poc-locsearch input:focus-visible { outline: 3px solid var(--poc-focus, #c98a2b); outline-offset: 2px; }

.poc-tool { margin: 1.5em 0; }
.poc-notice { background: var(--poc-sage-soft, #e8efe6); border-left: 4px solid var(--poc-teal, #1f5f5b); padding: .8em 1em; border-radius: 4px; font-size: .95em; }
.poc-fieldset { border: 1px solid var(--poc-line, #d9d4ca); border-radius: 8px; padding: 1em 1.1em .4em; margin: 0 0 1.2em; background: #fff; }
.poc-fieldset legend { font-weight: 700; padding: 0 .4em; font-size: 1.05em; }
.poc-field { margin-bottom: 1em; }
.poc-field label, .poc-locsearch__label { display: block; font-weight: 600; margin-bottom: .3em; }
.poc-field--pair { display: grid; grid-template-columns: 1fr 1fr; gap: .8em; }
.poc-field--pair .poc-help { grid-column: 1 / -1; margin-top: -.4em; }
.poc-tool input[type=text], .poc-locsearch input { width: 100%; min-height: 44px; padding: .5em .7em; border: 1px solid #8d8a84; border-radius: 6px; font-size: 16px; background: #fff; color: var(--poc-ink, #2b2f31); }
.poc-money { position: relative; display: flex; align-items: center; }
.poc-money > span { position: absolute; left: .7em; color: #666; pointer-events: none; }
.poc-money input[type=text] { padding-left: 1.6em; }
.poc-help { font-size: .88em; color: #5a5f61; margin: .3em 0 0; }
.poc-err { color: #a12622; font-size: .9em; font-weight: 600; margin: .3em 0 0; }
.poc-tool input[aria-invalid=true] { border-color: #a12622; border-width: 2px; }
.poc-actions { display: flex; flex-wrap: wrap; gap: .6em; margin: 1em 0; }
.poc-radios label { display: flex; gap: .5em; align-items: center; min-height: 40px; font-weight: 500; }
.poc-radios--inline { display: flex; gap: 1.5em; flex-wrap: wrap; }
.poc-radios input { width: 20px; height: 20px; accent-color: var(--poc-teal, #1f5f5b); }

.poc-results { border: 2px solid var(--poc-teal, #1f5f5b); border-radius: 10px; padding: 1.2em; margin: 1.5em 0; background: #fff; }
.poc-results:focus { outline: none; }
.poc-results h3 { margin-top: 0; }
.poc-table { width: 100%; border-collapse: collapse; margin: 0 0 1em; font-size: .97em; }
.poc-table th, .poc-table td { padding: .55em .6em; border-bottom: 1px solid var(--poc-line, #d9d4ca); text-align: left; vertical-align: middle; }
.poc-table thead th { background: var(--poc-sage-soft, #e8efe6); }
.poc-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.poc-table tfoot th { font-weight: 600; }
.poc-grand th, .poc-grand td { font-weight: 800; font-size: 1.08em; border-top: 2px solid var(--poc-ink, #2b2f31); }
.poc-bignum { font-size: 2rem; font-weight: 800; color: var(--poc-teal, #1f5f5b); margin: .2em 0; }
.poc-bignum .poc-sub { font-size: 1rem; font-weight: 500; color: var(--poc-ink, #2b2f31); }
.poc-next h4 { margin-bottom: .3em; }

.poc-ws__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--poc-line, #d9d4ca); border-radius: 8px; background: #fff; }
.poc-ws__table { min-width: 640px; margin: 0; }
.poc-ws__table th[scope=row] { min-width: 150px; }
.poc-ws__table td { min-width: 150px; }
.poc-ws__table tbody th { position: sticky; left: 0; background: #fff; z-index: 1; }
.poc-status { min-height: 1.4em; font-weight: 600; color: var(--poc-teal, #1f5f5b); }

.poc-check__progress { font-weight: 700; font-size: 1.1em; }
.poc-check__list { list-style: none; margin: 0; padding: 0; }
.poc-check__list li { display: flex; gap: .7em; align-items: flex-start; padding: .45em 0; border-bottom: 1px dashed var(--poc-line, #d9d4ca); }
.poc-check__list li:last-child { border-bottom: 0; }
.poc-check__list input { width: 22px; height: 22px; margin-top: .15em; flex: none; accent-color: var(--poc-teal, #1f5f5b); }
.poc-check__list input:checked + label { color: #5a5f61; text-decoration: line-through; }
.poc-check__link { margin: .4em 0 .6em; font-size: .95em; }

.poc-locsearch { background: #fff; border: 1px solid var(--poc-line, #d9d4ca); border-radius: 12px; padding: 1.2em; }
.poc-locsearch__row { display: flex; gap: .6em; }
.poc-locsearch__row input { flex: 1; }
.poc-locsearch__help { font-size: .9em; color: #5a5f61; margin: .6em 0 0; }
.poc-locsearch__results:not(:empty) { margin-top: 1em; border-top: 1px solid var(--poc-line, #d9d4ca); padding-top: .8em; }
.poc-locsearch__list { columns: 2 220px; margin: .4em 0 .8em 1.2em; }
.poc-locsearch__list li { break-inside: avoid; margin-bottom: .3em; }

.poc-states__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5em; }
.poc-states__grid a { display: flex; flex-direction: column; padding: .6em .75em; border: 1px solid var(--poc-line, #d9d4ca); border-radius: 8px; background: #fff; text-decoration: none; min-height: 44px; }
.poc-states__grid a:hover, .poc-states__grid a:focus-visible { border-color: var(--poc-teal, #1f5f5b); background: var(--poc-sage-soft, #e8efe6); }
.poc-states__name { font-weight: 700; color: var(--poc-ink, #2b2f31); }
.poc-states__count { font-size: .82em; color: #5a5f61; }

.poc-stateindex__jump ul { list-style: none; margin: 0 0 1.5em; padding: 0; display: flex; flex-wrap: wrap; gap: .35em; }
.poc-stateindex__jump a { display: inline-block; min-width: 44px; min-height: 36px; padding: .35em .4em; text-align: center; border: 1px solid var(--poc-line, #d9d4ca); border-radius: 6px; text-decoration: none; font-weight: 600; background: #fff; }
.poc-stateindex__state { scroll-margin-top: 90px; padding-top: .5em; border-top: 1px solid var(--poc-line, #d9d4ca); margin-top: 1.5em; }
.poc-stateindex__cities { columns: 3 180px; margin-left: 1.2em; }

.poc-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; margin: 1em 0 2em; }
.poc-product { display: flex; flex-direction: column; border: 1px solid var(--poc-line, #d9d4ca); border-radius: 10px; padding: 1.1em; background: #fff; }
.poc-product__name { font-size: 1.12em; margin: 0 0 .6em; }
.poc-product__specs { margin: 0 0 1em; font-size: .93em; flex: 1; }
.poc-product__specs dt { font-weight: 700; margin-top: .5em; color: var(--poc-teal, #1f5f5b); }
.poc-product__specs dd { margin: .1em 0 0; }
.poc-product__cta { align-self: flex-start; }

.poc-disclosure { background: #fff8e8; border: 1px solid #e8d7ae; border-radius: 6px; padding: .7em .9em; font-size: .9em; margin: 1em 0; }
.poc-disclosure--compact { margin: .4em 0 1.2em; }

.poc-pricenote { background: var(--poc-sage-soft, #e8efe6); border-left: 4px solid var(--poc-teal, #1f5f5b); border-radius: 4px; padding: .8em 1em; margin: 0 0 1.5em; font-size: .95em; }
.poc-pricenote__title { font-weight: 700; margin-bottom: .2em; }
.poc-localnav { border: 1px solid var(--poc-line, #d9d4ca); border-radius: 10px; padding: 1em 1.2em; margin: 2em 0; background: var(--poc-warm, #fbf8f3); }
.poc-localnav__title { font-weight: 700; margin: .4em 0; }
.poc-localnav ul { margin: 0 0 .8em 1.2em; }
.poc-localnav__cities { columns: 2 200px; }
.poc-localnav__more { font-size: .95em; }

.poc-faq { border-bottom: 1px solid var(--poc-line, #d9d4ca); padding: .2em 0; }
.poc-faq summary { cursor: pointer; font-weight: 700; padding: .8em 0; min-height: 44px; list-style-position: outside; }
.poc-faq__a { padding: 0 0 .8em; }

/* Ad labelling: separate sponsored content from editorial content. */
.code-block-2::before { content: "Memorial product links (affiliate)"; display: block; font-size: 12px; font-weight: 700; color: #6b6f70; margin-bottom: 4px; }
.mads-block:not(:empty) { font-size: 13px; color: #6b6f70; padding: 8px 12px; text-align: left; }
.mads-block:not(:empty)::before { content: "Sponsored links"; display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
.mads-block:not(:empty) a { margin-right: .8em; }

@media (max-width: 600px) {
	.poc-field--pair { grid-template-columns: 1fr; }
	.poc-locsearch__row { flex-direction: column; }
	.poc-actions .poc-btn { flex: 1 1 auto; }
}

/* Print only the chosen tool. */
@media print {
	body.poc-printing * { visibility: hidden; }
	body.poc-printing .poc-print-target, body.poc-printing .poc-print-target * { visibility: visible; }
	body.poc-printing .poc-print-target { position: absolute; left: 0; top: 0; width: 100%; }
	.poc-actions, .poc-next, .poc-err[hidden] { display: none !important; }
	.poc-ws__table { min-width: 0; font-size: 11px; }
	.poc-ws__scroll { overflow: visible; border: 0; }
	.poc-tool input[type=text] { border: 0; border-bottom: 1px solid #999; border-radius: 0; min-height: 0; }
	.poc-check__list input:checked + label { text-decoration: none; }
}
