/* Discover: guides, size guide, shop by motorcycle, visit the store. Uses the theme's type scale, pills and product cards. */
.aq-discover-page { padding: 0 0 var(--section-gap); }
.aq-discover-page > .wp-block-post-content > *:not(.size-guide):not(.guide-hero):not(.bike-shop):not(.store-info):not(.guide-list) { max-width: 760px; margin-left: auto; margin-right: auto; padding: 0 var(--gutter); box-sizing: content-box; }
.aq-guide .guide-body > h2.wp-block-heading { font-size: clamp(26px, 22px + 1vw, 34px); margin: 56px auto 16px; }
.aq-guide .guide-body > p { font-size: 18px; line-height: 1.7; color: #333; margin-top: 0; margin-bottom: 18px; }
.aq-guide .guide-body > ul { font-size: 17px; line-height: 1.7; color: #333; padding-left: calc(var(--gutter) + 20px); }
.aq-guide .guide-body > ul li { margin-bottom: 8px; }
.aq-guide .guide-body > .wp-block-buttons { margin-top: 36px; margin-bottom: 24px; gap: 12px; }
.aq-guide .wp-block-button__link { border-radius: 40px; background: #000; color: #fff; padding: 14px 24px; font-size: 15px; text-decoration: none; }
.aq-guide .is-style-outline .wp-block-button__link { background: #fff; color: #000; border: 1px solid #b8b8b8; }
.guide-sources { font-size: 13px !important; color: #666 !important; margin-top: 40px !important; }
.guide-sources a { color: inherit; }
.text-link { text-decoration: underline; text-underline-offset: 4px; font-size: 15px; }

/* guide header */
.guide-hero { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; padding: 24px var(--gutter) 0; margin-bottom: 72px; }
.guide-crumbs { font-size: 13px; margin-bottom: 28px; color: #555; }
.guide-crumbs a { text-decoration: underline; text-underline-offset: 3px; }
.guide-hero h1 { font-size: clamp(40px, 30px + 2.4vw, 68px); line-height: 1.04; margin-bottom: 24px; }
.guide-intro { font-size: 20px; line-height: 1.6; color: #444; max-width: 34em; }
.guide-time { font-size: 13px; color: #666; margin-top: 18px; letter-spacing: .02em; }
.guide-hero-photo { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--round); background: #eceef0; }
.guide-hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* guide cards */
.guide-list-page { margin-top: 24px; }
.guide-list-head { max-width: 720px; margin-bottom: 56px; }
.guide-list-head h1 { font-size: clamp(42px, 32px + 2.4vw, 72px); line-height: 1.04; margin-bottom: 20px; }
.guide-list-head p:not(.editorial-eyebrow) { font-size: 20px; line-height: 1.6; color: #444; }
.guide-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 20px; }
.guide-list-page .guide-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guide-card { display: flex; flex-direction: column; gap: 18px; color: inherit; text-decoration: none; }
.guide-card-photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--round); background: #eceef0; }
.guide-list-page .guide-card.lead { grid-column: 1 / -1; display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 40px; }
.guide-list-page .guide-card.lead .guide-card-photo { aspect-ratio: 16 / 10; }
.guide-list-page .guide-card.lead strong { font-size: clamp(30px, 24px + 1.4vw, 44px); }
.guide-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.guide-card:hover .guide-card-photo img { transform: scale(1.03); }
.guide-card-copy { display: flex; flex-direction: column; gap: 8px; }
.guide-card-copy small { font-size: 11px; letter-spacing: .1em; color: #555; }
.guide-card-copy strong { font-size: 24px; line-height: 1.2; letter-spacing: -.02em; }
.guide-card-text { font-size: 16px; line-height: 1.55; color: #444; }
.guide-card:hover .hover-label { text-decoration: underline; text-underline-offset: 4px; }

/* size guide */
.size-guide { padding: 0 var(--gutter); margin: 0 0 88px; scroll-margin-top: 24px; }
.sg-head { max-width: 760px; margin: 0 auto 28px; }
.sg-head h2 { margin-bottom: 14px; }
.sg-head p { font-size: 18px; line-height: 1.6; color: #444; }
.sg-tabs { display: flex; gap: 8px; flex-wrap: wrap; max-width: 1100px; margin: 0 auto 28px; }
.sg-tabs button { min-height: 44px; padding: 10px 22px; border-radius: 40px; border: 1px solid #b8b8b8; background: #fff; font-size: 15px; cursor: pointer; }
.sg-tabs button[aria-selected=true] { background: #000; color: #fff; border-color: #000; }
.sg-panel { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px 48px; background: #f6f7f8; border-radius: 8px; padding: clamp(20px, 3vw, 44px); }
.sg-panel[hidden] { display: none; }
.sg-measure { display: grid; grid-template-columns: 180px 1fr; gap: 28px; align-items: start; }
.sg-figure { margin: 0; background: #fff; border-radius: 8px; padding: 16px; text-align: center; }
.sg-figure svg { width: 100%; height: auto; color: #111; display: block; }
.sg-figure figcaption { font-size: 13px; color: #c8102e; font-weight: 600; margin-top: 6px; }
.sg-panel h3 { font-size: 18px; font-weight: 600; margin-bottom: 14px; }
.sg-steps { margin: 0; padding-left: 22px; font-size: 16px; line-height: 1.6; }
.sg-steps li { margin-bottom: 10px; padding-left: 4px; }
.sg-tip { font-size: 14px; color: #555; margin-top: 14px; line-height: 1.5; }
.sg-find { grid-row: span 2; display: flex; flex-direction: column; gap: 20px; }
.sg-calc { background: #fff; border-radius: 8px; padding: 20px; }
.sg-calc label, .sg-brands label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.sg-input { display: flex; align-items: center; border: 1px solid #b8b8b8; border-radius: 6px; overflow: hidden; max-width: 220px; background: #fff; }
.sg-input input { flex: 1; min-width: 0; border: 0; height: 52px; padding: 0 14px; font-size: 22px; font-weight: 600; }
.sg-input input:focus { outline: none; }
.sg-input:focus-within { outline: 2px solid #000; outline-offset: 1px; }
.sg-input span { padding: 0 14px; color: #555; font-size: 15px; }
.sg-result { margin-top: 12px; font-size: 16px; line-height: 1.5; min-height: 48px; }
.sg-result b { font-size: 20px; }
.sg-chart { width: 100%; border-collapse: collapse; background: #fff; border-radius: 8px; overflow: hidden; font-size: 15px; }
.sg-chart caption { text-align: left; font-size: 14px; font-weight: 600; padding-bottom: 8px; }
.sg-chart th, .sg-chart td { padding: 11px 16px; text-align: left; border-bottom: 1px solid #eee; }
.sg-chart thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #666; font-weight: 600; }
.sg-chart tbody th { font-weight: 600; width: 34%; }
.sg-chart tr.on { background: #111; color: #fff; }
.sg-brands select { width: 100%; height: 46px; border: 1px solid #b8b8b8; border-radius: 6px; padding: 0 12px; background: #fff; font-size: 15px; }
.sg-brand-chart { margin: 10px 0 0; background: #fff; border-radius: 8px; padding: 8px 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.sg-brand-chart[hidden] { display: none; }
.sg-brand-chart div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #eee; font-size: 14px; }
.sg-brand-chart dt { font-weight: 600; }
.sg-brand-chart dd { margin: 0; color: #444; }
.sg-note { font-size: 13px; color: #555; line-height: 1.5; }
.sg-fit ul { margin: 0 0 22px; padding-left: 20px; font-size: 15px; line-height: 1.6; }
.sg-fit li { margin-bottom: 6px; }
.sg-actions { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }

/* shop by motorcycle */
.bike-shop { padding: 0 var(--gutter); }
.bike-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 64px; align-items: end; padding: 24px 0 48px; border-bottom: 1px solid #e5e5e5; margin-bottom: 48px; }
.bike-hero h1 { font-size: clamp(40px, 30px + 2.4vw, 68px); line-height: 1.04; margin-bottom: 18px; }
.bike-hero-copy p:not(.editorial-eyebrow) { font-size: 19px; line-height: 1.6; color: #444; max-width: 32em; }
.bike-picker { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; background: #f6f7f8; padding: 20px; border-radius: 8px; }
.bike-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.bike-field select { width: 100%; height: 50px; border: 1px solid #b8b8b8; border-radius: 6px; padding: 0 12px; background: #fff; font-size: 15px; }
.bike-field select:disabled { color: #999; background: #f2f2f2; }
.bike-makes h2 { font-size: 28px; margin-bottom: 20px; }
.bike-make-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 24px; }
.bike-make { border-bottom: 1px solid #e5e5e5; }
.bike-make summary { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; cursor: pointer; list-style: none; font-size: 18px; font-weight: 600; }
.bike-make summary::-webkit-details-marker { display: none; }
.bike-make summary small { font-weight: 400; color: #666; font-size: 13px; }
.bike-make ul { list-style: none; margin: 0 0 16px; padding: 0; columns: 2; column-gap: 16px; font-size: 15px; }
.bike-make li { padding: 4px 0; break-inside: avoid; }
.bike-make a:hover { text-decoration: underline; }
.bike-missing { margin: 40px 0 0; font-size: 16px; color: #444; }
.bike-missing a, .bike-group p a, .bike-none a { text-decoration: underline; text-underline-offset: 3px; }
.bike-jump { position: sticky; top: 0; z-index: 5; background: #fff; display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; margin-bottom: 24px; }
.bike-jump a { border: 1px solid #b8b8b8; border-radius: 40px; padding: 9px 18px; font-size: 14px; }
.bike-jump a span { color: #666; margin-left: 4px; }
.bike-jump a:hover { background: #f2f2f2; }
.bike-jump .bike-change { margin-left: auto; border: 0; text-decoration: underline; }
.bike-group { margin-bottom: 72px; scroll-margin-top: 70px; }
.bike-group h2 { font-size: clamp(28px, 24px + 1vw, 38px); margin-bottom: 8px; }
.bike-group > p { font-size: 16px; color: #555; margin-bottom: 28px; }
.bike-sub { font-size: 18px; font-weight: 600; margin: 28px 0 12px; }
.bike-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bike-none { background: #f6f7f8; border-radius: 8px; padding: 28px; margin-bottom: 56px; }
.bike-none h2 { font-size: 24px; margin-bottom: 8px; }
.bike-none p { font-size: 16px; color: #444; line-height: 1.6; }
.bike-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; background: #000; color: #fff; border-radius: 8px; padding: 28px; }
.bike-cta div { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.bike-cta strong { font-size: 22px; }
.bike-cta span { color: #ccc; }
.bike-cta .pill:not(.dark) { background: #fff; color: #000; }
.bike-cta .pill.dark { background: #fff; color: #000; }

/* store */
.store-info { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); padding: 24px var(--gutter) 0; align-items: start; }
.store-info h1 { font-size: clamp(40px, 30px + 2.4vw, 68px); line-height: 1.04; margin-bottom: 24px; }
.store-about { font-size: 20px; line-height: 1.6; color: #333; margin-bottom: 14px !important; max-width: 32em; }
.store-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 40px 0 32px; padding-top: 32px; border-top: 1px solid #e5e5e5; }
.store-facts h2, .store-pickup h2 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; color: #555; font-weight: 600; }
.store-facts > div { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.store-facts address { font-style: normal; font-size: 17px; line-height: 1.55; }
.store-phone { font-size: 20px; font-weight: 600; }
.store-hours { margin: 0; width: 100%; }
.store-hours div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid #eee; font-size: 15px; }
.store-hours dd { margin: 0; }
.store-pickup { background: #f6f7f8; border-radius: 8px; padding: 20px 24px; margin-bottom: 28px; }
.store-pickup p { font-size: 16px; line-height: 1.6; }
.store-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.store-media { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 24px; }
.store-photo { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--round); }
.store-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.store-map { aspect-ratio: 1 / 1; border-radius: var(--round); overflow: hidden; background: #eceef0; }
.store-map iframe { width: 100%; height: 100%; border: 0; display: block; }

@media (max-width: 1023px) {
	.guide-hero, .store-info, .bike-hero { grid-template-columns: 1fr; }
	.guide-hero-photo { aspect-ratio: 4 / 3; order: -1; margin: 0 calc(-1 * var(--gutter)); border-radius: 0; }
	.guide-cards, .guide-list-page .guide-cards { grid-template-columns: 1fr; }
	.guide-list-page .guide-card.lead { grid-template-columns: 1fr; gap: 18px; }
	.sg-panel { grid-template-columns: 1fr; }
	.sg-find { grid-row: auto; }
	.sg-measure { grid-template-columns: 1fr; }
	.sg-figure { max-width: 200px; }
	.sg-tabs { flex-wrap: nowrap; overflow-x: auto; margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); padding: 0 var(--gutter); scrollbar-width: none; }
	.sg-tabs button { flex: none; }
	.bike-picker { grid-template-columns: 1fr; }
	.bike-make-list { grid-template-columns: 1fr; }
	.bike-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.store-facts { grid-template-columns: 1fr; }
	.store-media { position: static; }
	.bike-jump .bike-change { margin-left: 0; }
}
@media (min-width: 1024px) and (max-width: 1250px) { .bike-make-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bike-makes-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.bike-make[hidden] { display: none; }
.bike-make-list:has(.bike-make[open]:not([hidden])) { grid-template-columns: 1fr; }
.bike-make[open] ul { columns: 4; }
@media (max-width: 1023px) { .bike-make[open] ul { columns: 2; } }
/* One brand open: bigger, tappable model names */
.bike-make[open] summary { font-size: 22px; }
.bike-make[open] ul { columns: 3; column-gap: 24px; font-size: 20px; margin-bottom: 28px; }
.bike-make[open] li { padding: 0; }
.bike-make[open] li a { display: block; padding: 14px 4px; border-bottom: 1px solid #eee; font-weight: 500; }
.bike-make[open] li a:hover { text-decoration: none; background: #f6f7f8; padding-left: 10px; }
@media (max-width: 1023px) { .bike-make[open] ul { columns: 1; font-size: 18px; } }
