/* Rider guides extend EBIKE333's navy and amber reading surfaces. */
.masthead nav a { min-height:44px; display:inline-flex; align-items:center; }
.masthead nav a[aria-current="page"] { color:#f7ae4b; text-decoration:underline; text-underline-offset:6px; }
.battery-quick-guide { margin:24px 0; padding:16px 13px; background:#fff; border:1px solid #cdd8df; border-top:4px solid #f7ae4b; border-radius:10px; }
.battery-quick-guide h2 { font-size:1.125rem; letter-spacing:-.02em; line-height:1.3; }
.battery-quick-guide p { font-size:.9375rem; line-height:1.55; margin:10px 0; }
.battery-quick-guide details { border-top:1px solid #dce4e8; color:#34495c; }
.battery-quick-guide summary { min-height:44px; padding:10px 0; font-size:.9375rem; line-height:1.4; }
.site-sidebar .battery-guide-link { display:block; margin:10px 0 0; padding:10px 0; text-decoration:underline; font-size:.9375rem; color:#145f8c; }
.site-sidebar:has(.battery-quick-guide) nav { position:static; }
.guide-main .intro { padding:38px 0 24px; }
.guide-main h1 { font-size:clamp(2.1rem,4.3vw,3.5rem); }
.guide-main p,.guide-main li,.guide-main dd { font-size:1rem; line-height:1.65; }
.guide-context { color:#415a70; margin:0 0 24px; }
.guide-context a,.guide-source a { color:#145f8c; text-underline-offset:3px; }
.class-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.class-card { background:white; border:1px solid #cdd8df; border-top:5px solid #f7ae4b; border-radius:12px; padding:26px 22px; }
.class-card h2 { font-size:1.5rem; line-height:1.2; letter-spacing:-.025em; }
.class-card .class-speed { font-size:3.25rem; line-height:1; font-weight:800; letter-spacing:-.05em; margin:28px 0 8px; color:#101c2a; }
.class-speed span { font-size:1rem; letter-spacing:0; font-weight:600; }
.class-card .class-mph { font-size:.875rem; margin:0 0 24px; color:#526477; }
.class-card dl { margin-bottom:0; }
.class-card dt { font-weight:750; margin-top:18px; }
.class-card dd { margin:6px 0 0; color:#415a70; }
.class-card-three { border-top-color:#101c2a; }
.guide-main .guide-note,.guide-main .guide-source,.guide-main .guide-reviewed { font-size:.875rem; line-height:1.65; color:#526477; }
.guide-source a { display:inline-block; padding:5px 0; }
.guide-section { background:#fff; border:1px solid #d2dce3; border-radius:12px; padding:28px; margin:26px 0; scroll-margin-top:20px; }
.guide-section h2 { font-size:clamp(1.45rem,2.8vw,1.9rem); line-height:1.2; letter-spacing:-.03em; }
.guide-section p:last-child { margin-bottom:0; }
.guide-table-wrap { overflow-x:auto; margin:22px 0; }
.guide-table { width:100%; border-collapse:collapse; font-size:1rem; line-height:1.5; text-align:left; }
.guide-table caption { text-align:left; font-weight:750; padding:0 0 12px; }
.guide-table th,.guide-table td { padding:14px; border-bottom:1px solid #d8e3e9; vertical-align:top; }
.guide-table thead { background:#101c2a; color:#fff; }
.guide-table tbody th { font-weight:600; }
.bc-rules { border-left:5px solid #f7ae4b; }
.rating-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:22px 0; }
.rating-card { background:#f3f6f7; padding:24px; border-radius:10px; border-top:4px solid #f7ae4b; }
.rating-scope { display:block; font-size:.875rem; font-weight:750; color:#526477; margin-bottom:12px; }
.rating-card h3 { font-size:2rem; letter-spacing:-.03em; }
.rating-accordions { margin-top:20px; }
.rating-accordions details { border-top:1px solid #d2dce3; color:#34495c; }
.rating-accordions summary { padding:18px 4px; min-height:54px; font-size:1rem; color:#162538; }
.rating-accordions details>div { padding:0 4px 18px; }
.rating-accordions details>div>p:first-child { margin-top:0; }
.capacity-list { display:grid; gap:0; }
.capacity-list>div { padding:18px 0; border-bottom:1px solid #dce4e8; }
.capacity-list dt { font-size:1.125rem; font-weight:750; }
.capacity-list dd { margin:8px 0 0; color:#415a70; }
.capacity-example { padding:20px; border-radius:8px; background:#fff2de; }
.guide-checklist { padding-left:24px; }
.guide-checklist li { margin:12px 0; padding-left:4px; }
.guide-reviewed { margin:28px 0 0; }
summary:focus-visible,.guide-table-wrap:focus-visible { outline:3px solid #865014; outline-offset:4px; }
@media(max-width:1100px) { .class-grid { grid-template-columns:1fr; } }
@media(max-width:750px) { .guide-main .intro { padding:28px 0 20px; } .rating-pair { grid-template-columns:1fr; } .guide-section { padding:22px 18px; } .class-card { padding:24px; } .guide-table th,.guide-table td { padding:12px 8px; } .guide-table { font-size:.875rem; } .guide-table caption { font-size:1rem; } }
/* October rider-requested simplification: clearer menus, bike confirmation and care. */
.classes-short { display:none; }
.masthead nav a { white-space:nowrap; }
.parts-bike-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
.parts-bike-photo { min-width:0; background:#f2f6f8; border:1px solid #cfdae2; border-radius:10px; padding:18px; }
.parts-bike-photo h3 { font-size:1.125rem; }
.parts-bike-photo p { font-size:1rem; line-height:1.5; }
.parts-bike-photo figure { margin:0; }
.parts-bike-photo img { display:block; width:100%; height:auto; aspect-ratio:10/7; object-fit:contain; background:white; border-radius:7px; }
.parts-bike-photo figcaption p:first-child { font-weight:750; }
.parts-bike-photo figcaption p + p,.parts-bike-photo a { font-size:.875rem; line-height:1.5; }
.parts-bike-photo a { color:#145f8c; }
.exact-part-photos { margin-top:18px; padding-top:18px; border-top:1px solid #cfdae2; }
.exact-part-photos figure + figure { margin-top:18px; }
.exact-part-photos figcaption p:nth-child(3) { color:#536a78; }
.bike-photo-upload { margin:18px 0 0; }
.bike-photo-upload input { height:auto; min-height:48px; padding:10px; max-width:100%; font-size:.875rem; }
.care-top-three { counter-reset:care; list-style:none; margin:0 0 24px; padding:0; display:grid; gap:18px; }
.care-top-three > li { counter-increment:care; position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px 16px; padding:24px; border:1px solid #d4dfe5; border-radius:12px; background:#fff; }
.care-top-three h3::before { content:counter(care) '. '; }
.care-icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; font-size:1.8rem; line-height:1; background:#fff0e9; border:1px solid #edc9ba; border-radius:10px; }
.care-icon-do { background:#eaf3ee; border-color:#c2dace; float:left; margin:0 16px 12px 0; }
.care-tip-copy p { margin:10px 0 0; font-size:1rem; line-height:1.65; color:#415a70; }
.care-top-three .pressure-wash-warning { grid-column:2; width:50%; margin:4px 0 0; border-width:2px; border-radius:8px; }
.care-top-three .pressure-wash-warning figcaption { padding:10px; }
.care-top-three .pressure-wash-warning strong { font-size:clamp(.875rem,1.4vw,1.125rem); }
.battery-longevity,.service-reminder { margin:24px 0; padding:24px; background:#eef5f1; border:1px solid #c6d9ce; border-radius:12px; }
.battery-longevity h3,.service-reminder h3 { font-size:1.5rem; line-height:1.3; }
.battery-longevity p,.service-reminder p { font-size:1rem; line-height:1.65; }
.battery-longevity > p:not(.eyebrow),.service-reminder > p:not(.eyebrow) { clear:both; }
.battery-longevity details { padding:12px 0; }
.battery-longevity summary { min-height:44px; }
.battery-longevity .care-sources,.care-sources { font-size:.875rem; line-height:1.65; color:#526477; }
.care-sources a,.service-reminder a { color:#145f8c; }
@media(max-width:1100px) { .classes-long { display:none; } .classes-short { display:inline; } }
@media(max-width:750px) {
  .parts-bike-layout { grid-template-columns:1fr; }
  .care-top-three > li { padding:18px; grid-template-columns:40px minmax(0,1fr); gap:12px; }
  .care-icon { width:40px; height:40px; font-size:1.5rem; }
  .care-top-three .pressure-wash-warning { grid-column:1 / -1; width:50%; }
  .battery-longevity,.service-reminder { padding:20px; }
}
.certification-thumb { display:block; width:100%; height:auto; margin:12px 0; background:white; }
.certification-figure { margin:22px 0; padding:18px; background:white; }
.certification-figure img { display:block; width:100%; max-width:740px; height:auto; margin:auto; }
.certification-figure figcaption { margin-top:14px; font-size:.875rem; line-height:1.6; color:#526477; }
.certification-key { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.certification-key dt { font-weight:750; }
.certification-key dd { margin:8px 0 0; }
.battery-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.battery-action { display:block; text-decoration:none; padding:24px; background:#fff; border:1px solid #cdd8df; border-top:4px solid #f7ae4b; border-radius:10px; }
.battery-action:hover { border-color:#b16b19; background:#fffaf2; }
.battery-action > span { display:block; font-size:2rem; margin-bottom:16px; }
.battery-action h2 { font-size:1.4rem; line-height:1.3; }
.battery-action p { margin-bottom:0; color:#415a70; }
@media(max-width:900px) { .battery-actions,.certification-key { grid-template-columns:1fr; } }
.regulation-selectors { display:grid; grid-template-columns:1fr 1fr; gap:20px; background:#101c2a; color:white; border-radius:12px; padding:24px; }
.regulation-selectors label { font-weight:700; font-size:1rem; }
.regulation-selectors select { font-size:1rem; margin-top:10px; background:white; }
.reg-status { font-weight:750; color:#865014; }
.regulations-result li { margin:14px 0; }
.regulations-result a { color:#145f8c; text-underline-offset:3px; }
@media(max-width:650px) { .regulation-selectors { grid-template-columns:1fr; padding:20px; } }

.battery-selectors { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:24px; border-radius:10px; background:#eef3f6; }
.battery-selectors label { display:block; font-weight:700; }
.battery-selectors select { display:block; width:100%; min-width:0; margin-top:10px; background:#fff; font-size:1rem; }
.battery-result { margin-top:26px; }
.battery-result h3 { font-size:1.5rem; line-height:1.4; }
.battery-detail { border-top:1px solid #d2dce3; margin-top:20px; padding-top:20px; }
.battery-detail h4 { font-size:1.125rem; margin:0 0 10px; }
.battery-detail p { font-size:1rem; line-height:1.65; }
.battery-care-details { border-top:1px solid #d2dce3; margin-top:18px; }
.battery-care-details summary { padding:16px 0; min-height:48px; }
.battery-care-details li { margin:12px 0; line-height:1.6; }
.battery-review-date { font-size:.875rem; color:#526477; }
.range-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.range-grid article { background:#f2f6f8; padding:20px; border-radius:10px; }
.range-grid article > span { font-size:1.75rem; }
.range-grid h3 { margin:12px 0; font-size:1.15rem; line-height:1.4; }
.range-grid p { font-size:1rem; line-height:1.65; }
.battery-jump { line-height:1.8; }
@media(max-width:750px) { .battery-selectors,.range-grid { grid-template-columns:1fr; } .battery-selectors { padding:18px; } }
.label-inspector-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:32px;align-items:start}.label-location{margin:0 0 22px}.label-location img,#label-photo-preview img{width:100%;height:auto;border:1px solid #d4dee5;border-radius:12px;display:block}.label-location figcaption{font-size:.9rem;line-height:1.6;padding:14px 0;color:#41566a}.label-marks{border:0;padding:0;margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.label-marks legend{font-weight:700;padding-bottom:14px}.label-marks label{display:flex;align-items:center;gap:10px;font-size:.95rem}.label-marks input{width:20px;height:20px;flex-shrink:0;accent-color:#155e75}.label-inspector label{margin-bottom:16px}.label-inspector input:not([type=checkbox]),.label-inspector textarea,.label-inspector select{width:100%}.label-result{margin-top:30px;padding:26px;background:#f0f6f9;border:1px solid #adc5d4;border-radius:14px}.label-result dt{font-weight:700;margin-top:18px}.label-result dd{margin:6px 0 0}.label-result li{margin-bottom:12px}.label-result .alert{margin-top:24px}.care-warning-picture{margin:0;width:min(100%,360px)}.care-warning-picture img{width:100%;height:auto;display:block;border-radius:10px}
@media(max-width:850px){.label-inspector-grid{grid-template-columns:1fr}.label-location{max-width:520px}.label-marks{grid-template-columns:1fr}.label-result{padding:18px}}
.care-top-three .care-warning-picture{grid-column:2;width:50%;max-width:420px;margin-top:4px}.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:30px;align-items:start}.faq-group{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #cbd8e0}.faq-group>h3{color:#175c77;font-size:1.5rem;margin:0 0 12px}.faq-group details{padding:14px 0}.faq-group summary{cursor:pointer;font-weight:700;line-height:1.5}.faq-group details p{line-height:1.65}.first-bike-card{background:#eef5f7;border:1px solid #b5cdd9;border-top:4px solid #196681;border-radius:12px;padding:22px;position:sticky;top:20px}.first-bike-card a{display:block;margin-top:18px}.first-bike-card h3{font-size:1.5rem}
@media(max-width:850px){.faq-layout{grid-template-columns:1fr}.first-bike-card{position:static}.care-top-three .care-warning-picture{grid-column:1/-1;width:min(100%,360px)}}
