@import url("./rates-core.css");

/* Plan picker scroll fix: keep the page locked while allowing the modal itself to scroll. */
body.plan-picker-opened{overflow:hidden;touch-action:auto}
.plan-picker-backdrop{touch-action:auto}
.plan-picker-sheet{height:min(760px,calc(100dvh - 48px))}
.plan-picker-list{overflow-y:auto!important;min-height:0;touch-action:pan-y;scrollbar-gutter:stable}
@media(max-width:760px){.plan-picker-sheet{height:min(88dvh,760px)}}


/* Customer-first plan picker */
.plan-picker-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-picker-modes button{min-height:42px;border:1px solid #cddcdf;border-radius:12px;background:#fff;color:#526b73;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.plan-picker-modes button.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 3px 10px rgba(16,60,82,.12)}.plan-picker-mode-note{margin:-3px 0 1px;padding:10px 12px;border-radius:11px;background:#f2f7f7;color:#60777f;font-size:.69rem;line-height:1.5}.plan-picker-sheet[data-mode="recommend"] .plan-picker-search,.plan-picker-sheet[data-mode="recommend"] .plan-filter-group{display:none}.plan-picker-sheet[data-mode="recommend"] .plan-picker-toolbar label{display:none!important}.plan-recommend-reason{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:10px;background:#eef7f5;color:#315f5b}.plan-recommend-reason span{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#d8eee9;color:#0f665f;font-size:.61rem;font-weight:900}.plan-recommend-reason strong{font-size:.67rem;line-height:1.45}.plan-picker-sheet[data-mode="recommend"] .plan-picker-list{gap:10px}@media(max-width:760px){.plan-picker-modes{position:sticky;top:0;z-index:2;background:#fff;padding-top:1px}.plan-picker-mode-note{font-size:.66rem}}

/* Device images in recommendation cards */
.device-card-image{height:150px;margin:8px 0 12px;padding:8px;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f8fbfb}
.device-card-image img{display:block;width:100%;height:100%;object-fit:contain}
.quick-result-card .quick-device-image{height:150px}
.purpose-card .purpose-device-image{height:145px}
@media(max-width:760px){.device-card-image,.quick-result-card .quick-device-image,.purpose-card .purpose-device-image{height:132px;margin:6px 0 10px}}


/* Entry mode guide */
.mobile-mode-guide{display:flex;align-items:center;gap:10px;margin:10px 0 18px;padding:11px 13px;border:1px solid #d9e6e7;border-radius:12px;background:#f7fbfb;color:#587078;font-size:.78rem;line-height:1.5}.mobile-mode-guide strong{flex:0 0 auto;color:#103c52}.mobile-mode-guide span{min-width:0}@media(max-width:760px){.mobile-mode-guide{display:block;font-size:.75rem}.mobile-mode-guide strong,.mobile-mode-guide span{display:block}.mobile-mode-guide span{margin-top:3px}}


/* Desktop internet/TV readability uplift · 2026-10-06 */
@media (min-width:901px){
  .rate-page .rate-panel[data-panel="internet"] .updated{font-size:13.5px}
  .rate-page .wired-compare-head h3{font-size:20px}
  .rate-page .wired-compare-head p{font-size:15px;line-height:1.7}
  .rate-page .wired-life-presets>span{font-size:13px}
  .rate-page .wired-life-presets button{font-size:14px}
  .rate-page .wired-compare-controls label{font-size:13.5px}
  .rate-page .wired-compare-controls select{font-size:15px}

  .rate-page .wired-compare-card>span{font-size:13.5px}
  .rate-page .wired-compare-card>small{font-size:13.5px}
  .rate-page .wired-compare-card>p{font-size:15px!important;line-height:1.65!important}
  .rate-page .wired-compare-card>div{font-size:14px;line-height:1.5}
  .rate-page .wired-compare-card>div em,
  .rate-page .wired-compare-card>div b{font-size:14px}
  .rate-page .wired-extra-line{font-size:13.5px!important}
  .rate-page .wired-compare-card button{font-size:15px;min-height:42px}
  .rate-page .wired-compare-note{font-size:13.5px;line-height:1.65}

  .rate-page .internet-speed-guide,
  .rate-page .internet-availability-note{font-size:14px;line-height:1.65}
  .rate-page .tv-product-info{font-size:14px;line-height:1.65}
  .rate-page .tv-product-info strong{font-size:15px}
  .rate-page .tv-product-info p{font-size:14px!important;line-height:1.65!important}
  .rate-page .tv-product-info small{font-size:13px}
  .rate-page .additional-tv-box>span{font-size:13px}
  .rate-page .additional-tv-box>small{font-size:13px;line-height:1.55}
}


/* Kids promo policy detail polish · 2026-10-06 */
.rate-page .kids-sale-card .kids-policy-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.rate-page .kids-sale-card .kids-policy-specs>span{
  display:block;min-width:0;padding:10px 11px;border:1px solid #d9e5e8;border-radius:11px;background:#f9fbfc
}
.rate-page .kids-sale-card .kids-policy-specs>span:nth-child(-n+2){grid-column:1/-1;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:8px}
.rate-page .kids-sale-card .kids-policy-specs small{display:block;margin-bottom:3px;color:#708489;font-size:13px;font-weight:800}
.rate-page .kids-sale-card .kids-policy-specs b{
  display:block;color:#173e4b;font-size:14px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere
}
.rate-page .kids-sale-card .kids-policy-lines>div{
  display:flex;gap:10px;min-width:0;align-items:flex-start;padding:8px 0;border-bottom:1px dashed #e5ecee;font-size:14px
}
.rate-page .kids-sale-card .kids-policy-lines>div:last-child{border-bottom:0}
.rate-page .kids-sale-card .kids-policy-lines span{flex:0 0 108px;color:#687f84}
.rate-page .kids-sale-card .kids-policy-lines b{
  flex:1;min-width:0;text-align:right;color:#153b4a;font-size:14px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere
}
.rate-page .kids-sale-card .kids-policy-lines .kids-device-zero b{color:#d84418;font-size:16px}
.rate-page .kids-sale-card .kids-policy-notes{padding:12px 13px}
.rate-page .kids-sale-card .kids-policy-notes>strong{display:block;margin-bottom:6px;color:#694f17;font-size:14px}
.rate-page .kids-sale-card .kids-policy-notes ul{margin:0;padding-left:18px}
.rate-page .kids-sale-card .kids-policy-notes li{margin:4px 0;font-size:13px;line-height:1.5}
@media(max-width:760px){
  .rate-page .kids-sale-card .kids-policy-specs{grid-template-columns:1fr 1fr}
  .rate-page .kids-sale-card .kids-policy-lines span{flex-basis:96px}
  .rate-page .kids-sale-card .kids-policy-lines b{text-align:left}
}


/* Quote decision explanation · 2026-10-06 */
.quote-advice{margin:14px 0;padding:15px 16px;border:1px solid #b9d9d4;border-radius:14px;background:linear-gradient(135deg,#f2fbf8,#f8fcfd);box-shadow:0 8px 24px rgba(15,118,110,.06)}
.quote-advice[hidden]{display:none!important}
.quote-advice-head span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.04em}
.quote-advice-head strong{display:block;margin-top:4px;color:#173e48;font-size:17px;line-height:1.45}
.quote-advice>p{margin:8px 0 0;color:#4c696d;font-size:14px;line-height:1.65}
.quote-advice-check{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed #cfe1de;color:#617b7d;font-size:13px;line-height:1.55}
.quote-advice-check b{color:#315d5b}
@media(max-width:640px){.quote-advice{padding:13px}.quote-advice-head strong{font-size:16px}.quote-advice>p{font-size:13px}.quote-advice-check{grid-template-columns:1fr;font-size:12.5px}}


/* Wired comparison card mobile typography · 2026-10-09 */
@media (max-width:760px){
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card{
    gap:7px;
    min-width:0;
    padding:18px 16px;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>span{
    font-size:18px;
    font-weight:900;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>strong{
    font-size:clamp(31px,8vw,38px);
    line-height:1.2;
    font-weight:900;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>small{
    font-size:16px;
    line-height:1.5;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>p{
    min-height:0;
    margin:8px 0!important;
    font-size:17px!important;
    line-height:1.65!important;
    font-weight:500;
    overflow-wrap:break-word;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>div{
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px 10px;
    padding-top:12px;
    font-size:16px;
    line-height:1.5;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>div em{
    font-size:16px;
    font-weight:700;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>div b{
    min-width:0;
    margin-left:auto;
    font-size:18px;
    font-weight:900;
    text-align:right;
    overflow-wrap:anywhere;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card button{
    min-height:48px;
    font-size:17px;
    line-height:1.4;
    font-weight:900;
    white-space:normal;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-extra-line{
    font-size:15px!important;
    line-height:1.5;
  }
}
@media (max-width:360px){
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>p{font-size:16px!important}
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-card>div{align-items:flex-start}
}


/* Wired compare filters: larger mobile labels and selects · 2026-10-09 */
@media (max-width:760px){
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-controls {
    gap:14px;
    min-width:0;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-controls label {
    gap:8px;
    min-width:0;
    font-size:16px;
    line-height:1.45;
    font-weight:850;
  }
  .rate-page .rate-panel[data-panel="internet"] .wired-compare-controls select {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:52px;
    padding:11px 14px;
    font-size:17px;
    line-height:1.4;
    font-weight:750;
    color:#183c48;
  }
}


/* 2026-10-13 · readable quote explanations and compact installment/welfare controls */
.rate-page #mobile-form{align-content:start!important;grid-auto-rows:max-content!important;align-self:start}
.rate-page #mobile-form .mobile-term-welfare-row{align-items:start!important;align-content:start!important;grid-auto-rows:max-content!important;gap:12px!important;padding:12px 13px;margin:0;border:1px solid #cfe6e4;border-radius:14px;background:#f4fbfa}
.rate-page #mobile-form .mobile-term-welfare-row>label{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-self:start!important;min-width:0;gap:7px!important;color:#185b5b!important;font-size:16px!important;font-weight:900!important}
.rate-page #mobile-form .mobile-term-welfare-row select{width:100%;min-height:47px!important;font-size:15px!important;font-weight:750!important}
.rate-page #mobile-form .mobile-term-welfare-row select:disabled{opacity:1}
.rate-page .field-help,.rate-page .plan-picker-note,.rate-page .plan-picker-mode-note,.rate-page .plan-filter-hint,.rate-page .data-note,.rate-page .quote-amount-note,.rate-page .quote-next-step,.rate-page .quote-condition-note p,.rate-page .extra-support-disclaimer,.rate-page .rate-warning,.rate-page .wired-compare-note,.rate-page .internet-availability-note,.rate-page .store-benefit-request-status,.rate-page .plan-quick-shortcuts span,.rate-page .result-breakdown span,.rate-page .monthly-total-help{font-size:clamp(15px,1.35vw,17px)!important;line-height:1.7!important;word-break:keep-all}
.rate-page .quote-condition-note{background:#eef8fb!important;border:1px solid #bedfe9!important;border-radius:14px;padding:16px!important}
.rate-page .quote-condition-note>strong,.rate-page .quote-condition-note strong{color:#075e88!important;font-size:17px!important}
.rate-page .quote-amount-note,.rate-page .data-note{color:#1f6067!important;font-weight:730!important}
.rate-page .rate-warning{color:#604721!important;background:#fff7e7!important;border:1px solid #f1dcad!important;padding:14px 16px!important;border-radius:12px}
.rate-page #mobile-form .auto-box>span{font-size:15px!important;line-height:1.5!important;font-weight:820!important}
.rate-page #mobile-form .auto-box>strong{font-size:17px!important}
.rate-page #mobile-form .auto-box>small{font-size:14.5px!important}
.rate-page .quote-next-step{color:#1e6470!important;font-weight:700}
.rate-page .rate-quote-choice{margin:16px 0;border:1px solid #b9dcd8;background:#f2faf8;border-radius:16px;padding:16px}
.rate-page .rate-quote-choice>strong{display:block;font-size:19px;color:#144e4a;margin-bottom:5px}
.rate-page .rate-quote-choice>p{font-size:15px;line-height:1.6;color:#365b61;margin:0 0 12px}
.rate-page .rate-quote-choice-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.rate-page .rate-quote-choice-links>a,.rate-page .rate-quote-choice-links>button{display:flex;align-items:center;justify-content:center;min-height:49px;border-radius:12px;border:1px solid #277977;text-decoration:none;font-size:16px;font-weight:900;padding:10px 12px;text-align:center;cursor:pointer}
.rate-page .rate-quote-choice-links .primary{background:#08796e;color:#fff}
.rate-page .rate-quote-choice-links .secondary{background:#fff;color:#155e64}
.rate-page .rate-quote-choice-links .phone{background:#e9f2fd;color:#145886}
@media(max-width:640px){.rate-page #mobile-form .mobile-term-welfare-row{grid-template-columns:1fr!important;padding:12px!important}.rate-page .rate-quote-choice-links{grid-template-columns:1fr}.rate-page .rate-quote-choice-links>a,.rate-page .rate-quote-choice-links>button{min-height:49px}.rate-page #mobile-form{gap:12px!important}}


/* 2026-10-13 · calculator screenshot polish: clearer field labels and no floating-looking selects */
.rate-page #mobile-form>.field-row,
.rate-page #mobile-form>.field-row.two{align-content:start!important;align-items:start!important;grid-auto-rows:max-content!important;row-gap:10px!important}
.rate-page #mobile-form>.field-row:not(.mobile-term-welfare-row)>label,
.rate-page #mobile-form>label{display:flex!important;flex-direction:column!important;align-self:start!important;justify-content:flex-start!important;gap:7px!important;min-height:0!important}
.rate-page #mobile-form>.field-row>label,
.rate-page #mobile-form>label,
.rate-page #mobile-form .device-brand-filter>span,
.rate-page #mobile-form .plan-picker-label>span{font-size:17px!important;font-weight:900!important;color:#164e62!important;line-height:1.5!important}
.rate-page #mobile-form select:not(.plan-select-native),
.rate-page #mobile-form input[type="search"]{font-size:16.5px!important;font-weight:780!important;line-height:1.4!important;min-height:52px!important;color:#163d51!important}
.rate-page #mobile-form .device-brand-filter>small,
.rate-page #mobile-form .mobile-plan-picker small,
.rate-page #mobile-form .field-help{font-size:15.5px!important;line-height:1.7!important;color:#315e69!important}
.rate-page #mobile-form .device-brand-filter,
.rate-page #mobile-form .mobile-plan-picker{margin-top:0!important;margin-bottom:0!important}
.rate-page #mobile-form .device-brand-filter>span,
.rate-page #mobile-form .plan-picker-label>span{display:block!important;margin-bottom:6px!important}
.rate-page #mobile-form .mobile-term-welfare-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:start!important;margin:0!important;padding:13px!important;min-height:0!important}
.rate-page #mobile-form .mobile-term-welfare-row>label{margin:0!important;padding:0!important;height:auto!important;min-height:0!important;line-height:1.5!important;gap:6px!important}
.rate-page #mobile-form .mobile-term-welfare-row>label>select{display:block!important;margin:0!important;min-height:51px!important;height:auto!important}
.rate-page #mobile-form .auto-grid{align-items:stretch}
.rate-page #mobile-form .auto-box>span{font-size:16px!important;color:#285467!important;font-weight:900!important}
.rate-page #mobile-form .auto-box>strong{font-size:19px!important;color:#0e587a!important;font-variant-numeric:tabular-nums}
.rate-page #mobile-result .result-breakdown{border-color:#c4e1e4!important}
.rate-page #mobile-result .result-breakdown>div{font-size:16px!important;line-height:1.6!important;gap:15px}
.rate-page #mobile-result .result-breakdown>div>span{font-size:15.5px!important;color:#44616d!important;font-weight:770!important}
.rate-page #mobile-result .result-breakdown>div>strong,
.rate-page #mobile-result .result-breakdown>div>b{font-size:17px!important;color:#153f58!important;font-weight:900!important;font-variant-numeric:tabular-nums}
.rate-page .mobile-easy-intro .mobile-easy-steps li{font-size:14px!important;line-height:1.5!important;font-weight:830!important}
.rate-page .mobile-easy-intro>p{font-size:15px!important;color:#315f64!important}
@media(max-width:640px){
  .rate-page #mobile-form .mobile-term-welfare-row{grid-template-columns:1fr!important}
  .rate-page #mobile-form>.field-row>label,.rate-page #mobile-form>label{font-size:16px!important}
  .rate-page #mobile-form .mobile-term-welfare-row{padding:12px!important}
  .rate-page #mobile-result .result-breakdown>div{align-items:baseline}
}

/* 2026-10-20 · one clear row of quote consultation actions (mobile calculator only) */
.rate-page #mobile-quote-choice .rate-quote-choice-links > button,
.rate-page #mobile-quote-choice .rate-quote-choice-links > a{
  box-sizing:border-box;width:100%;min-width:0;min-height:54px;
  font-size:16px;line-height:1.4;
}
.rate-page #mobile-quote-choice .rate-quote-choice-links .secondary{
  background:#fee500;border-color:#e1c900;color:#3c1e1e;
}
.rate-page #mobile-quote-choice .rate-quote-choice-links .phone{
  border-color:#b2d4fc;
}
.rate-page #mobile-quote-choice .rate-quote-choice-links > :is(button,a):focus-visible{
  outline:3px solid #dc7d12;outline-offset:3px;
}
