.pav-widget { margin: 1.25em 0; }
.pav-title { margin: 0 0 .75em; font-size: 1.1em; }
.pav-tiers { display: grid; gap: .6em; }

.pav-tier {
	position: relative; padding: .9em 1em; border: 2px solid #ddd; border-radius: 10px; background: #fff;
	transition: border-color .15s, background .15s;
}
.pav-tier:hover { border-color: #aaa; }
.pav-tier.is-active { border-color: #111; background: #fafafa; }
.pav-tier__head { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin: 0; cursor: pointer; }
.pav-tier__head input[type="radio"] { margin: 0 .6em 0 0; accent-color: #111; }
.pav-tier__main { display: flex; flex-direction: column; flex: 1; }
.pav-tier__label { font-weight: 600; }
.pav-tier__save { font-size: .85em; color: #2e7d32; }
.pav-tier__price { font-weight: 600; white-space: nowrap; }
.pav-badge {
	position: absolute; top: -.7em; right: 1em; padding: .1em .7em; border-radius: 999px;
	background: #111; color: #fff; font-size: .72em; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
}

.pav-tier__lines { display: grid; gap: .75em; margin-top: .9em; }
.pav-tier__lines:empty { display: none; margin: 0; }
.pav-line { display: grid; gap: .4em; padding: .75em; border: 1px dashed #ccc; border-radius: 8px; }
.pav-line__title { font-weight: 600; font-size: .9em; }
.pav-line__fields { display: flex; flex-wrap: wrap; gap: .5em; }
.pav-line__fields select { flex: 1 1 140px; min-width: 0; }
.pav-line__price { font-size: .9em; }
.pav-line__price.is-error { color: #c62828; }
.pav-line__price del { opacity: .55; margin-right: .3em; }
.pav-line__price ins { text-decoration: none; font-weight: 600; }

.pav-total { margin-top: 1em; }
.pav-total[hidden] { display: none; }
.pav-total__prices del { opacity: .55; margin-right: .5em; }
.pav-total__prices ins { text-decoration: none; font-size: 1.4em; font-weight: 700; }
.pav-total__saving { color: #2e7d32; font-size: .9em; }
.pav-hint { margin: .75em 0 0; font-size: .9em; color: #666; }
.pav-widget .pav-submit {
    display: block; width: 100%; margin-top: 1em; padding: 1.1em 1em; border: 0; border-radius: 0;
    background-color: #1c1c1c !important; color: #fff; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; cursor: pointer;
}
.pav-widget .pav-submit:hover:not(:disabled) { background-color: #000 !important; color: #fff; }
.pav-widget button.pav-submit:disabled,
.pav-widget button.pav-submit:disabled:hover {
    background: #1c1c1c !important; color: #fff !important; opacity: .45 !important; cursor: not-allowed;
}