/* sticky app header */
.app-header{
  position:sticky; top:0; z-index:1000;
  background:#fff; border-bottom:1px solid var(--border);
  box-shadow: var(--shadow-100);
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 16px;
}

/* buttons */
.btn{display:inline-block;border:1px solid var(--border);padding:.4rem .9rem;border-radius:8px;cursor:pointer;font-weight:600;background:#fff}
.btn:hover{background:#f3f4f6;border-color:#9ca3af}
.btn-primary{background:var(--color-primary);color:#fff;border:none}
.btn-primary:hover{background:var(--color-primary-dark)}

/* table shell */
.compare-table{width:100%;border-collapse:collapse;box-shadow:var(--shadow-100)}
.compare-table th, .compare-table td{
  border-bottom:1px solid var(--border); padding:.8rem 1rem; text-align:center; vertical-align:middle
}
.compare-table .label-col{text-align:left}
thead.sticky-head{position:sticky; top:0; z-index:5; background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.05)}
tbody tr:hover{background:var(--hover)}

/* plan header cell */
.plan-col-header{text-align:left; padding:1rem 1rem .6rem}
.plan-title{
  margin:0 0 .35rem; font-size:var(--h6-size); font-weight:var(--h6-weight);
  line-height:var(--h6-line); letter-spacing:var(--h6-track)
}
.plan-link{
  color:var(--color-primary); text-decoration:underline; text-underline-offset:2px;
  text-decoration-thickness:1.25px; display:inline-block; max-width:32ch;
  overflow-wrap:anywhere; word-break:break-word; hyphens:auto;
}
.plan-link:hover, .plan-link:focus-visible{color:var(--color-primary-dark)}
.carrier-name{
  margin:.15rem 0 .25rem; font-size:var(--body1-size); font-weight:var(--body1-weight);
  line-height:var(--body1-line); letter-spacing:var(--body1-track); color:var(--text-secondary); max-width:32ch
}
.plan-meta{margin:.1rem 0 0; font-size:.95rem; line-height:1.4; color:var(--text-secondary)}

/* sticky Remove row just under header */
.plan-actions{position:sticky; top:var(--sticky-offset, 56px); z-index:4; background:var(--bg-subtle)}
.btn-remove{background:#fff;border:1px solid var(--border);color:var(--text-secondary);padding:.35rem .9rem;border-radius:8px;cursor:pointer;font-weight:600}
.btn-remove:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}

/* components.css */

.disclaimer-bar{
  margin:0; padding:6px 10px; width:100%; box-sizing:border-box;
  background:#eaeaea; color:#555; font-size:11px; text-align:center;
  border-bottom:1px solid #ccc; position:relative;
}
.disclaimer-bar p{ margin:0 auto; max-width:900px; }
.disclaimer-bar .nav{ position:absolute; right:10px; top:6px; }
.disclaimer-bar .nav select{
  font-size:12px; padding:2px 4px; background:#fff; border:1px solid #ccc; border-radius:3px;
}
/* Disclaimer + quick nav */
.disclaimer-bar{
  background:#f3f4f6;
  color:#555;
  font-size:12px;
  line-height:1.4;
  text-align:center;
  padding:6px 12px;
  border-bottom:1px solid #e5e7eb;
  position:relative;
}
.disclaimer-bar p{
  margin:0 auto;
  max-width: 1000px;
}

/* Right-aligned dropdown */
.disclaimer-bar .nav{
  position:absolute;
  right:12px;
  top:6px;
}

/* Visually hidden label for accessibility */
.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Styled select (blue, like your primary buttons) */
.nav-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  font: 500 13px/1.2 "Roboto", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  padding:8px 28px 8px 10px;
  border:1px solid #2563eb;
  background:#2563eb;
  color:#fff;
  border-radius:8px;
  cursor:pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  transition: filter .15s ease, box-shadow .15s ease;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.9) 50%),
    linear-gradient(135deg, rgba(255,255,255,.9) 50%, transparent 50%);
  background-position:
    calc(100% - 16px) center,
    calc(100% - 10px) center;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.nav-select:hover{ filter:brightness(1.05); }
.nav-select:focus{
  outline:none;
  box-shadow: 0 0 0 3px rgba(37,99,235,.25);
}

/* Keep it tidy on small screens */
@media (max-width:640px){
  .disclaimer-bar{ padding-right: 96px; }
  .disclaimer-bar .nav{ right:8px; top:8px; }
}
/* Disclaimer nav select – force blue button look */
.disclaimer-bar .nav .nav-select {
  background: #2563eb !important;
  color: #fff !important;
  border: 1px solid #2563eb !important;
}
.disclaimer-bar .nav .nav-select:hover { filter: brightness(1.05); }
.disclaimer-bar .nav .nav-select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37,99,235,.25);
}
/* Make the option list readable + show a hover/selected background */
.disclaimer-bar .nav .nav-select option {
  color: #111;               /* readable text in the menu */
  background: #fff;          /* white menu background */
}

.disclaimer-bar .nav .nav-select option:hover,
.disclaimer-bar .nav .nav-select option:checked {
  background: #e7efff !important;  /* light blue highlight */
  color: #111;
}

