/* Premier's local title premium calculator shares the site's responsive container. */
.pts-rate-calculator { width: 100%; margin-block: 28px 48px; color: var(--pts-text, #4a4f54); font: 14px/1.7 var(--pts-sans, "Spartan", Arial, sans-serif); }
.pts-rate-calculator *, .pts-rate-calculator *::before, .pts-rate-calculator *::after { box-sizing: border-box; }
.pts-rate-calculator [hidden] { display: none !important; }
.pts-rate-calculator__intro { margin-bottom: 30px; }
.pts-rate-calculator .pts-rate-calculator__intro > p { margin: 0 0 8px; }
.pts-rate-calculator .pts-rate-calculator__intro > p:last-child { font-size: 12px; }
.pts-rate-calculator .pts-rate-calculator__location { display: inline-block; padding: 3px 12px; border-left: 3px solid var(--pts-pink, #e12893); background: #f7f3f5; color: var(--pts-charcoal-deep, #363b3f); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.pts-rate-calculator__layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr); align-items: start; gap: 38px; }
.pts-rate-calculator__form { min-width: 0; margin: 0; }
.pts-rate-calculator fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.pts-rate-calculator .pts-rate-calculator__section { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--pts-border, #dedfe0); }
.pts-rate-calculator__section > legend { display: block; float: none; width: 100%; margin: 0 0 13px; padding: 0; color: var(--pts-charcoal-deep, #363b3f); font: 400 29px/1.2 var(--pts-serif, "Baskervville", Georgia, serif); }
.pts-rate-calculator .pts-rate-calculator__hint { margin: 0 0 16px; font-size: 12px; line-height: 1.65; }
.pts-rate-calculator__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.pts-rate-calculator__field { min-width: 0; }
.pts-rate-calculator__field > label, .pts-rate-calculator__label { display: block; margin-bottom: 6px; color: var(--pts-charcoal-deep, #363b3f); font-size: 12px; font-weight: 600; }
.pts-rate-calculator :is(input[type="text"], input[type="date"], select) { display: block; width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 9px 11px; border: 1px solid #9b9fa3; border-radius: 0; background-color: #fff; color: #2d353d; font: inherit; line-height: 1.5; box-shadow: none; }
.pts-rate-calculator input[type="date"] { min-inline-size: 0; }
.pts-rate-calculator .pts-rate-calculator__fixed { min-height: 46px; margin: 0; padding: 10px 0; color: var(--pts-charcoal-deep, #363b3f); font-weight: 600; }
.pts-rate-calculator__money { position: relative; }
.pts-rate-calculator__money > span { position: absolute; top: 50%; left: 12px; color: #555d64; transform: translateY(-50%); }
.pts-rate-calculator .pts-rate-calculator__money > input { padding-left: 29px; }
.pts-rate-calculator__prior { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; padding: 16px; background: #f6f6f6; border-left: 2px solid var(--pts-pink, #e12893); }
.pts-rate-calculator__checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; }
.pts-rate-calculator__checks > label { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; cursor: pointer; }
.pts-rate-calculator__checks input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--pts-pink-dark, #b51072); }
.pts-rate-calculator__checks label:has(input:disabled) { color: #71767b; cursor: default; }
.pts-rate-calculator :is(button, a, input, select, summary):focus-visible { outline: 2px solid var(--pts-pink-dark, #b51072); outline-offset: 3px; }
.pts-rate-calculator__actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.pts-rate-calculator button { min-height: 44px; padding: 10px 19px; border: 1px solid var(--pts-charcoal, #4a4f54); border-radius: 0; background: #fff; color: var(--pts-charcoal-deep, #363b3f); font: inherit; font-size: 12px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.pts-rate-calculator button:hover { background: #f2f3f3; }
.pts-rate-calculator button:disabled { opacity: .65; cursor: wait; }
.pts-rate-calculator .pts-rate-calculator__calculate { border-color: var(--pts-pink-dark, #b51072); background: var(--pts-pink-dark, #b51072); color: #fff; }
.pts-rate-calculator .pts-rate-calculator__calculate:hover { border-color: var(--pts-charcoal-deep, #363b3f); background: var(--pts-charcoal-deep, #363b3f); }
.pts-rate-calculator .pts-rate-calculator__reset { border-color: transparent; background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.pts-rate-calculator .pts-rate-calculator__feedback { margin: 16px 0 0; font-size: 12px; }
.pts-rate-calculator__feedback.is-error, .pts-rate-calculator__error { color: #a51d26; }
.pts-rate-calculator__error:not(:empty) { display: block; margin-top: 5px; font-size: 11px; line-height: 1.5; }
.pts-rate-calculator [aria-invalid="true"] { border-color: #a51d26; }
.pts-rate-calculator__results { position: sticky; top: 96px; min-width: 0; padding: 28px; border-top: 3px solid var(--pts-pink, #e12893); background: #f4f5f5; }
.pts-rate-calculator__results > h2 { margin: 0 0 18px; color: var(--pts-charcoal-deep, #363b3f); font: 400 32px/1.2 var(--pts-serif, "Baskervville", Georgia, serif); }
.pts-rate-calculator .pts-rate-calculator__results p { margin: 0 0 14px; }
.pts-rate-calculator__summary { font-size: 11px; }
.pts-rate-calculator .pts-rate-calculator__total { margin: 20px 0; padding-bottom: 20px; border-bottom: 1px solid #ccd0d3; }
.pts-rate-calculator__total > span { display: block; font-size: 12px; }
.pts-rate-calculator__total > strong { display: block; margin-top: 4px; color: var(--pts-charcoal-deep, #363b3f); font: 400 clamp(30px, 3.3vw, 44px)/1.25 var(--pts-serif, "Baskervville", Georgia, serif); overflow-wrap: anywhere; }
.pts-rate-calculator__breakdown { margin: 0; }
.pts-rate-calculator__breakdown > div { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 10px; font-size: 12px; }
.pts-rate-calculator__breakdown dt { font-weight: 400; }
.pts-rate-calculator__breakdown dd { flex-shrink: 0; margin: 0; font-weight: 600; }
.pts-rate-calculator .pts-rate-calculator__endorsement-items { margin: 14px 0; padding: 0; list-style: none; }
.pts-rate-calculator__endorsement-items > li { display: flex; justify-content: space-between; gap: 12px; padding-block: 5px; border-top: 1px solid #e0e2e3; font-size: 11px; }
.pts-rate-calculator__endorsement-items > li > span:last-child { text-align: right; }
.pts-rate-calculator__review { padding: 10px 12px; border-left: 3px solid var(--pts-pink-dark, #b51072); background: #fff; font-size: 12px; }
.pts-rate-calculator__disclosure { margin-top: 20px; padding-block: 13px; border-top: 1px solid #ccd0d3; border-bottom: 1px solid #ccd0d3; font-size: 11px; }
.pts-rate-calculator__disclosure > summary { min-height: 24px; cursor: pointer; font-size: 12px; font-weight: 600; }
.pts-rate-calculator__disclosure[open] > summary { margin-bottom: 15px; }
.pts-rate-calculator__result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.pts-rate-calculator__result-actions > button { padding: 8px 12px; font-size: 11px; }
.pts-rate-calculator__scope { margin-top: 24px; padding-top: 20px; border-top: 1px solid #ccd0d3; font-size: 11px; line-height: 1.8; }
.pts-rate-calculator__scope > h3 { margin: 0 0 12px; color: var(--pts-charcoal-deep, #363b3f); font: 400 23px/1.25 var(--pts-serif, "Baskervville", Georgia, serif); }
.pts-rate-calculator .pts-rate-calculator__source { margin-bottom: 0; font-size: 10px; }
.pts-rate-calculator__source > a { white-space: nowrap; }
.pts-calculator-quote { position: relative; isolation: isolate; margin-top: 72px; padding: 72px 0 80px; border: 0; }
.pts-calculator-quote::before { content: ""; position: absolute; z-index: -1; inset: 0; background: #f3edf1; box-shadow: 0 0 0 100vmax #f3edf1; clip-path: inset(0 -100vmax); pointer-events: none; }
.pts-calculator-quote::after { content: ""; position: absolute; top: 38px; left: 0; width: 54px; height: 3px; background: var(--pts-pink-dark, #b51072); }
.pts-calculator-quote > h2 { margin: 0 0 15px; max-width: 850px; color: var(--pts-charcoal-deep, #363b3f); font-size: clamp(30px, 3.4vw, 44px); }
.pts-calculator-quote > p { max-width: 78ch; margin: 0 0 32px; color: #555b61; font-family: var(--pts-sans, "Spartan", Arial, sans-serif); font-size: 14px; line-height: 1.85; }
.pts-calculator-quote .pts-native-form { scroll-margin-top: 110px; }

@media (max-width: 767px) {
	.pts-calculator-quote { margin-top: 46px; padding: 58px 0 52px; }
	.pts-calculator-quote::after { top: 28px; }
	.pts-calculator-quote > p { margin-bottom: 25px; font-size: 13px; }
}
.pts-rate-calculator[data-preview="true"] .pts-rate-calculator__results { position: static; }
@media (max-width: 991px) { .pts-rate-calculator__layout { grid-template-columns: minmax(0, 1fr); gap: 30px; } .pts-rate-calculator__results { position: static; } }
@media (max-width: 575px) {
	.pts-rate-calculator { font-size: 14px; }
	.pts-rate-calculator__fields { grid-template-columns: minmax(0, 1fr); }
	.pts-rate-calculator__prior { grid-template-columns: minmax(0, 1fr); padding: 14px; }
	.pts-rate-calculator__results { padding: 22px 18px; }
	.pts-rate-calculator__checks { gap: 4px 12px; }
	.pts-rate-calculator__checks > label { font-size: 12px; }
	.pts-rate-calculator .pts-rate-calculator__calculate { flex-grow: 1; }
	.pts-rate-calculator__section > legend { font-size: 27px; }
}
@media print {
	.pts-rate-calculator { color: #000; font-size: 10pt; }
	.pts-rate-calculator__layout { display: block; }
	.pts-rate-calculator__form, .pts-rate-calculator__result-actions, .pts-calculator-quote { display: none !important; }
	.pts-rate-calculator__results { position: static; padding: 15px; border: 1px solid #aaa; background: #fff; }
	.pts-rate-calculator__disclosure > .pts-rate-calculator__breakdown, .pts-rate-calculator__disclosure > p { display: block !important; }
	.pts-rate-calculator__source > a::after { content: " (" attr(href) ")"; white-space: normal; }
}
.pts-rate-calculator-heading {
    max-width: 1000px;
    margin-inline: auto;
    font-size: clamp(32px, 4vw, 54px) !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}
