.eg-quote-page.page-content {
    padding-block: clamp(2.5rem, 5vw, 4.5rem);
    background: linear-gradient(180deg, var(--color-page-canvas-cool), var(--color-page-canvas) 52rem);
}

.page-content__inner.eg-quote-page__inner { width: min(calc(100% - 2rem), 76rem); }
.eg-quote-page__inner h1 { line-height: 1.02; letter-spacing: -.045em; }
.eg-quote-cart { line-height: 1.55; }
.eg-quote-cart__lead { max-width: 66ch; margin: 0 0 1.65rem; color: var(--color-text-muted); }
.eg-quote-cart__layout { display: grid; gap: clamp(1rem, 3vw, 1.75rem); align-items: start; }
.eg-quote-cart__layout:not(.eg-quote-cart__layout--selected, .eg-quote-cart__layout--calculator) { max-width: 48rem; }

.eg-quote-cart__services,
.eg-quote-cart__form,
.eg-quote-cart__summary {
    min-width: 0;
    padding: clamp(1.15rem, 3vw, 2rem);
    border: 1px solid rgb(14 34 56 / 14%);
    border-radius: 1.2rem;
    background: #fff;
}

.eg-quote-cart h2 { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.65rem); line-height: 1.18; letter-spacing: -.025em; }
.eg-quote-cart h3 { margin: 1.25rem 0 .55rem; font-size: 1rem; }
.eg-quote-cart__items { margin: .55rem 0 0; padding: 0; list-style: none; }
.eg-quote-cart__items li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .55rem 1rem;
    padding-block: .9rem;
    border-bottom: 1px solid rgb(14 34 56 / 13%);
}
.eg-quote-cart__line-price { display: block; margin-top: .14rem; color: var(--color-text-muted); }
.eg-quote-cart__addon { margin: .6rem 0 0; padding-inline-start: .65rem; border-inline-start: 2px solid #9ad5df; font-size: .875rem; }
.eg-quote-cart__items .button {
    min-height: 2.75rem;
    padding-inline: .8rem;
    border: 1px solid rgb(14 34 56 / 22%);
    background: #fff;
    color: var(--color-brand-navy);
    cursor: pointer;
}
.eg-quote-cart__items .button:hover { background: #eaf5f8; }

.eg-quote-cart__links { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: .75rem; }
.eg-quote-cart__links a { font-weight: 700; }
.eg-quote-cart__notice { margin: 0 0 1rem; padding: .75rem 1rem; border-inline-start: .2rem solid #20819a; border-radius: 0 .55rem .55rem 0; background: #eaf5f8; }

.eg-quote-cart__summary {
    background: radial-gradient(ellipse at 100% 0, #1b4a5c, transparent 65%), var(--color-brand-navy);
    color: #fff;
}
.eg-quote-cart__totals { margin: .8rem 0 0; }
.eg-quote-cart__totals > div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: .12rem .6rem;
    padding-block: .65rem;
    border-bottom: 1px solid rgb(255 255 255 / 24%);
}
.eg-quote-cart__totals dt { color: #d6edf4; font-size: .875rem; }
.eg-quote-cart__totals dd { margin: 0; font-weight: 800; }
.eg-quote-cart__summary p { margin: .85rem 0; color: #d6edf4; font-size: .9rem; }
.eg-quote-cart__summary .button { width: 100%; justify-content: space-between; gap: .75rem; background: #b5ecf9; color: var(--color-brand-navy); }
.eg-quote-cart__summary .button:hover { background: #fff; color: var(--color-brand-navy); }
.eg-quote-cart__summary .button:focus-visible { outline-color: #b5ecf9; }

.eg-quote-cart__form { display: grid; gap: .9rem; scroll-margin-top: .35rem; }
.eg-quote-cart__form:target { border-color: #3896ad; }
.eg-quote-cart__form > p { margin: 0; color: var(--color-text-muted); }
.eg-quote-cart__form label { font-weight: 700; }
.eg-quote-cart__form :is(input:not([type=checkbox]), textarea) {
    display: block;
    width: 100%;
    min-height: 2.75rem;
    margin-top: .25rem;
    padding: .6rem .7rem;
    border: 1px solid #9aadb8;
    border-radius: .5rem;
    background: #fff;
    color: inherit;
    font: inherit;
    font-weight: 400;
}
.eg-quote-cart__form .eg-quote-cart__privacy { display: flex; align-items: baseline; gap: .5rem; font-weight: 400; }
.eg-quote-cart__privacy input { flex: none; margin: 0; }
.eg-quote-cart__form button { border: 0; text-align: center; cursor: pointer; }

.eg-quote-calculator > p { margin: .55rem 0 1.15rem; color: var(--color-text-muted); }
.eg-quote-calculator__category {
    margin-top: .6rem;
    border: 1px solid rgb(14 34 56 / 16%);
    border-radius: .85rem;
    background: #fff;
}
.eg-quote-calculator__category[open] { border-color: #89bbc7; }
.eg-quote-calculator__category summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 3.25rem;
    padding: .7rem .9rem;
    border-radius: .85rem;
    background: #eff7fa;
    list-style: none;
    cursor: pointer;
}
.eg-quote-calculator__category summary::-webkit-details-marker { display: none; }
.eg-quote-calculator__category summary::after {
    content: "";
    flex: none;
    width: .45rem;
    height: .45rem;
    margin-inline: .3rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}
.eg-quote-calculator__category[open] summary::after { transform: rotate(225deg); }
.eg-quote-calculator__category small { display: block; color: var(--color-text-muted); }
.eg-quote-calculator__count { margin-inline-start: auto; color: var(--color-text-muted); font-size: .75rem; font-weight: 700; }
.eg-quote-calculator__options { padding-inline: .9rem; }
.eg-quote-calculator__option {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .55rem 1rem;
    padding-block: .85rem;
    border-bottom: 1px solid rgb(14 34 56 / 13%);
}
.eg-quote-calculator__choice { min-width: 0; }
.eg-quote-calculator__option .button {
    min-height: 2.75rem;
    padding-inline: .9rem;
    border: 0;
    cursor: pointer;
}
.eg-quote-calculator__selected { color: var(--color-text-muted); font-size: .875rem; font-weight: 700; }
.eg-quote-calculator__platform { display: grid; gap: .2rem; margin-top: .45rem; font-size: .9rem; }
.eg-quote-calculator__platform select {
    width: 100%;
    min-height: 2.75rem;
    padding: .45rem;
    border: 1px solid #9aadb8;
    border-radius: .5rem;
    background: #fff;
    color: inherit;
    font: inherit;
}
.eg-quote-calculator__management { display: flex; align-items: baseline; gap: .5rem; margin-top: .6rem; font-size: .875rem; }
.eg-quote-calculator__management input { flex: none; margin: 0; }
.eg-quote-calculator__details { display: inline-block; margin-block: .75rem; font-size: .875rem; font-weight: 700; }

@media (min-width: 56rem) {
    :is(.eg-quote-cart__layout--selected, .eg-quote-cart__layout--calculator) { grid-template-columns: minmax(0, 1fr) minmax(20rem, .52fr); }
    .eg-quote-cart__summary { grid-column: 2; grid-row: 1; }
    .eg-quote-cart__layout--selected .eg-quote-cart__summary { grid-row: 1 / span 2; }
    .eg-quote-cart__form { grid-column: 1; }
}

@media (min-width: 56rem) and (min-height: 36rem) {
    .eg-quote-cart__summary { position: sticky; top: calc(var(--header-height, 0px) + 1.25rem); }
}
