/* Four-stage quote flow: a restrained BAM interpretation of the reference layout. */
.shop-page:not(.assistant-page) #health-quote-section,.shop-page:not(.assistant-page) .quote-page-back{display:none}
.shop-page:not(.assistant-page){background:#fff}
.shop-page:not(.assistant-page) .quote-header{position:relative;border-bottom:1px solid #d8e2e9;box-shadow:0 3px 6px #103f6b14}
.shop-page:not(.assistant-page) .quote-header .nav-shell{width:100%;min-height:80px;padding:12px 24px}
.shop-page:not(.assistant-page) .quote-header .nav-call{border:0;padding:8px 0;font-weight:600;min-height:44px}
.shop-page:not(.assistant-page) .quote-header .bam-wordmark strong{font-size:2.5rem}
.shop-page .shop-main{padding:26px 20px 80px;background:#fff;min-height:calc(100svh - 80px)}
.shop-page .shop-progress{max-width:736px;margin-bottom:24px}
.shop-page .shop-progress ol{flex-wrap:nowrap;gap:12px}
.shop-page .shop-progress li{font-size:1rem;gap:12px;color:#647483;white-space:nowrap}
.shop-page .shop-progress li.is-current{color:#103f6b;font-weight:600}
.shop-page .shop-progress li.is-done{color:#103f6b}
.shop-page .shop-progress li:not(:last-child)::after{content:'›';color:#8393a0;font-size:1.35rem}
.shop-page .shop-progress button{min-height:36px}
.shop-page .shop-card{width:min(736px,100%);max-width:736px;padding:48px 63px;border:1px solid #d3dfe7;border-radius:20px;box-shadow:0 1px 2px #103f6b08;background:#fff;scroll-margin-top:24px}
.shop-page .shop-card h1{font-family:var(--body);font-size:2.2rem;font-weight:700;line-height:1.18;letter-spacing:-.045em;color:#103f6b;margin:0 0 18px;overflow-wrap:normal}
.shop-page .shop-card h2{font-family:var(--body);font-size:1.25rem;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.shop-page .shop-card .shop-intro{font-size:1rem;color:#354b5c;line-height:1.6;margin-bottom:32px}
.shop-page .shop-field{margin-top:28px}
.shop-page .shop-field:first-child{margin-top:0}
.shop-page .shop-field input,.shop-page .shop-field select{min-height:50px;border:1px solid #82939f;border-radius:4px;font-size:1rem;box-shadow:none;padding:10px 14px}
.shop-page .shop-field label,.shop-page .shop-field legend,.shop-page .shop-location-hint{font-size:.875rem;color:#40576c}
.shop-page .shop-location-hint{line-height:1.5;margin:0 0 8px}
.shop-page .shop-card input:focus,.shop-page .shop-card select:focus{border-color:#1768ac;box-shadow:0 0 0 3px #1768ac24}
.shop-page .shop-member{background:#fff;border:1px solid #98a7b2;border-radius:4px;padding:24px;margin-top:26px}
.shop-page .shop-member:first-child{margin-top:0}
.shop-page .shop-member h2{margin-bottom:32px;padding-right:26px}
.shop-page .shop-member .shop-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px}
.shop-page .shop-member .shop-field{margin-top:0}
.shop-page .shop-card .shop-segmented{display:block;border:0;padding:0;min-width:0}
.shop-page .shop-segmented-options{width:100%;gap:0}
.shop-page .shop-segment span{min-height:50px}
.shop-page .shop-segment input{width:1px;min-height:0;padding:0}
.shop-page .shop-segment input:checked+span{background:#eaf5ff;color:#103f6b;border-color:#1768ac}
.shop-page .shop-check{font-size:1rem;line-height:1.6;align-items:flex-start;gap:12px;margin-top:16px}
.shop-page .shop-check input{appearance:none;width:28px;min-height:28px;height:28px;padding:0;flex:0 0 28px;border-radius:4px;margin-top:2px}
.shop-page .shop-check input:checked{background:#eaf5ff;border-color:#1768ac}
.shop-page .shop-check input:focus-visible{outline:3px solid #1768ac;outline-offset:3px}
.shop-page .shop-citizenship{border-top:1px solid #d3dfe7;padding-top:20px;margin-top:28px}
.shop-page .shop-citizenship .shop-check{font-size:.9375rem}
.shop-page .shop-citizenship .shop-field{margin-top:18px}
.shop-page .shop-status-options{border:0;padding:0;min-width:0;margin:22px 0 0 40px}
.shop-page .shop-status-options .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shop-page .shop-status-options legend{font-size:1rem;font-weight:600;line-height:1.5;color:#103f6b;padding:0;margin-bottom:12px;max-width:100%;overflow-wrap:anywhere}
.shop-page .shop-status-choice{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:6px 0;font-size:1rem;line-height:1.5;cursor:pointer}
.shop-page .shop-status-choice input{appearance:auto;accent-color:#1768ac;flex:0 0 28px;width:28px;max-width:28px;height:28px;min-height:28px;margin:0;padding:0;border:0;border-radius:50%;box-shadow:none}
.shop-page .shop-status-choice input:focus-visible{outline:3px solid #1768ac;outline-offset:3px}
.shop-page .shop-status-choice span{min-width:0;overflow-wrap:anywhere;padding-top:2px}
.shop-page .shop-status-hint{margin:16px 0 0 40px}
.shop-page .shop-status-hint a{color:#125a94;text-decoration:underline;text-underline-offset:3px}
.shop-page .shop-notice.shop-medicare-notice{background:#fff8f1;border-color:#b75c22;color:#4b3526}
.shop-page .shop-medicare-notice h2{font-size:1.125rem;margin:0;padding-bottom:14px;border-bottom:1px solid #ddc8b9;line-height:1.5;color:#4b3526}
.shop-page .shop-medicare-notice p{margin-top:16px}
.shop-page .shop-medicare-notice .shop-medicare-link{display:flex;justify-content:center;align-items:center;min-height:50px;padding:12px 16px;margin-top:20px;border:1px solid #1768ac;border-radius:4px;color:#125a94;background:#fff;text-align:center;text-decoration:none;font-weight:600;line-height:1.5}
.shop-page .shop-medicare-link:hover{background:#eaf5ff}
.shop-page .shop-medicare-notice .shop-eligibility-source{font-size:.875rem;line-height:1.6;color:#125a94}
.shop-page .shop-add{font-size:1rem;min-height:44px;margin-top:14px}
.shop-page .shop-member-remove{width:44px;height:44px;right:8px;top:10px}
.shop-page .shop-notice{border:1px solid #b8d4e8;border-radius:5px;background:#eff7ff;padding:22px;margin-top:26px;font-size:1rem;line-height:1.65;color:#294961;overflow-wrap:anywhere}
.shop-page .shop-notice:first-child{margin-top:26px}
.shop-page .shop-notice p+p,.shop-page .shop-notice strong+p{margin-top:16px}
.shop-page .shop-notice a{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.shop-page .shop-household-label{margin-top:30px;font-size:1rem}
.shop-page .shop-household-income{margin-top:30px;font-size:1rem}
.shop-page .shop-income-row{gap:8px;grid-template-columns:1fr 1fr}
.shop-page .shop-income-row .shop-field{margin-top:14px}
.shop-page .shop-number{gap:8px;margin-top:12px}
.shop-page .shop-number input{font-size:1rem;min-width:56px;max-width:80px}
.shop-page .shop-number button{border-radius:4px}
.shop-page .shop-actions{gap:46px;margin-top:48px}
.shop-page .shop-actions button{min-height:50px;border-radius:6px;font-size:1rem}
.shop-page .shop-back{min-width:114px}
.shop-page .shop-next,.shop-page .shop-large-action{background:#1768ac;color:#fff;border:1px solid #1768ac;box-shadow:none;font-weight:500}
.shop-page .shop-next:hover:not(:disabled),.shop-page .shop-large-action:hover{background:#10558f;border-color:#10558f}
.shop-page .shop-next:disabled{background:#d8e3eb;border-color:#d8e3eb;color:#526677}
.shop-page .shop-personalize .shop-actions{gap:16px;margin-top:16px}
.shop-page .shop-personalize .shop-next{background:#fff;color:#1768ac;border-color:#1768ac}
.shop-page .shop-large-action{min-height:50px;border-radius:6px;padding:12px 18px;margin-top:32px}
.shop-page .shop-plan-count{font-weight:600;color:#103f6b;text-align:center;background:#eaf5ff;border-radius:5px;padding:16px;font-size:1.125rem}
.shop-page .shop-error{overflow-wrap:anywhere;font-size:1rem}
.shop-page .shop-small-help{font-size:.875rem;text-align:center;padding-top:24px}
.shop-page .shop-hint{font-size:.875rem;line-height:1.6}
.shop-page .shop-card .income-guidance{font-size:1rem;line-height:1.65;margin-top:24px}
.shop-page #shop-searches:empty{display:none}
.shop-page #shop-searches .coverage-picker{margin-top:24px;border:0;background:transparent;padding:0}
.shop-page #shop-searches .coverage-picker summary{display:none}
.shop-page #shop-searches .coverage-picker-body{padding:0}
.shop-page #shop-searches .coverage-search-row{display:flex;gap:10px;flex-wrap:wrap}
.shop-page #shop-searches .coverage-search-row input{flex:1;min-width:160px;min-height:50px;font-size:1rem}
.shop-page #shop-searches .coverage-search-row button{min-height:50px}
.shop-page .intake-reviews{margin:28px auto 0;max-width:736px}
.shop-page:not(.assistant-page) .bam-footer{margin-top:0;background:#f2f7fb;color:#40576c;padding:36px 0}
.shop-page:not(.assistant-page) .bam-footer .wide{width:min(1040px,calc(100% - 48px))}
.shop-page:not(.assistant-page) .bam-footer .footer-lead{display:none}
.shop-page:not(.assistant-page) .bam-footer .footer-bottom-row{margin:0;padding:0 0 24px;border-bottom:1px solid #c9dce9;align-items:center}
.shop-page:not(.assistant-page) .bam-footer .footer-legal{border:0;padding-top:0;margin-top:0}
.shop-page:not(.assistant-page) .bam-footer .cms-marketplace-disclaimer{font-size:1rem;color:#40576c;line-height:1.75}
.shop-page:not(.assistant-page) .bam-footer .cms-marketplace-disclaimer a{color:#125a94}
@media(max-width:760px){
 .shop-page:not(.assistant-page) .quote-header .nav-shell{min-height:76px;padding:12px 18px;gap:16px}
 .shop-page:not(.assistant-page) .quote-header .bam-wordmark strong{font-size:2rem}
 .shop-page:not(.assistant-page) .quote-header .bam-wordmark small{font-size:.625rem}
 .shop-page .shop-main{padding:24px 16px 52px;min-height:calc(100svh - 76px)}
 .shop-page .shop-progress{margin-bottom:20px}
 .shop-page .shop-progress ol,.shop-page .shop-progress li{gap:8px}
 .shop-page .shop-progress li{font-size:.875rem}
 .shop-page .shop-card{padding:30px 26px;border-radius:16px}
 .shop-page .shop-card h1{font-size:1.875rem;line-height:1.2}
 .shop-page .shop-member{padding:22px 18px}
 .shop-page .shop-status-options,.shop-page .shop-status-hint{margin-left:0}
 .shop-page .shop-member .shop-row{grid-template-columns:1fr;gap:22px}
 .shop-page .shop-actions{gap:18px;margin-top:34px}
 .shop-page .shop-back{min-width:86px}
 .shop-page .shop-notice{padding:18px}
 .shop-page .quote-phone span{display:none}
 .shop-page .quote-phone svg{width:24px;height:24px}
 .shop-page:not(.assistant-page) .bam-footer .footer-bottom-row{gap:20px}
}
@media(max-width:400px){
 .shop-page .shop-main{padding:20px 12px 42px}
 .shop-page .shop-card{padding:26px 20px}
 .shop-page .shop-card h1{font-size:1.75rem}
 .shop-page .shop-progress ol,.shop-page .shop-progress li{gap:6px}
 .shop-page .shop-progress li{font-size:.8125rem}
 .shop-page .shop-member{padding:20px 14px}
 .shop-page .shop-income-row{grid-template-columns:1fr}
 .shop-page .shop-actions{gap:12px}
}
@media(prefers-reduced-motion:reduce){.shop-page{scroll-behavior:auto}.shop-page *{scroll-behavior:auto!important}}
.shop-page .quote-phone{display:inline-flex;align-items:center;gap:9px}
.shop-page #shop-searches .coverage-search-row{align-items:flex-end}
.shop-page .wizard-provider-location{flex:0 1 180px}
.shop-page .wizard-provider-location input{width:100%;min-width:0!important}
@media(max-width:600px){.shop-page .wizard-provider-location{flex:1 1 100%}.shop-page #shop-searches .coverage-search-row input{flex-basis:100%}}

.shop-page .shop-marketplace-help .shop-marketplace-call{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 16px;border-radius:5px;background:#1768ac;color:#fff;font-weight:600;text-align:center;text-decoration:none;line-height:1.5}
.shop-page .shop-marketplace-help .shop-marketplace-call:hover{background:#10558f}
.shop-page .shop-marketplace-help .shop-hint{margin-top:12px}
.shop-page .shop-marketplace-help .shop-hint a{margin:0}

/* Comfortable touch targets and a progress display that fits narrow phones. */
@media(max-width:760px){
 .shop-page:not(.assistant-page) .quote-header .nav-call{min-width:44px;justify-content:center}
 .shop-page .shop-progress button{min-height:44px}
 .shop-page .shop-small-help a{display:inline-flex;align-items:center;min-height:44px}
 .shop-page .shop-card input,.shop-page .shop-card select{scroll-margin-block:24px}
 .shop-page .shop-main{padding-bottom:max(48px,env(safe-area-inset-bottom))}
}
@media(max-width:400px){
 .shop-page .shop-progress ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;counter-reset:quote-step}
 .shop-page .shop-progress li{min-width:0;gap:8px;white-space:normal;font-size:.875rem;border-bottom:2px solid #e0e8ee}
 .shop-page .shop-progress li::before{counter-increment:quote-step;content:counter(quote-step);display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#eaf5ff;color:#103f6b;font-size:.875rem}
 .shop-page .shop-progress li:not(:last-child)::after{display:none}
 .shop-page .shop-progress li.is-current{border-bottom-color:#1768ac}
 .shop-page .shop-progress li.is-current::before{background:#1768ac;color:#fff}
 .shop-page .shop-progress button{min-width:0;text-align:left;line-height:1.3}
 .shop-page .shop-card h1{font-size:1.75rem;line-height:1.25}
 .shop-page .shop-card .shop-intro{margin-bottom:24px}
 .shop-page .shop-actions{gap:12px;margin-top:28px}
 .shop-page .shop-back{min-width:76px}
 .shop-page .shop-actions button{padding-inline:12px}
}
