.catalog-page{min-height:100svh;display:flex;flex-direction:column}.catalog-main{flex:1;padding-top:56px;padding-bottom:80px}.catalog-page h1{font:700 clamp(36px,5vw,64px)/1.04 var(--serif);letter-spacing:-.045em;margin:15px 0 22px}.catalog-page h1 em{color:#557912}.catalog-page h2{font:600 26px/1.15 var(--serif);letter-spacing:-.02em}.catalog-page h3{margin:0}.catalog-heading{max-width:760px;padding:15px 0 42px}.catalog-heading>p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:18px}.catalog-tags{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.catalog-tags>span:not(.badge){font-size:12px;border:1px solid var(--line);padding:6px 12px;border-radius:30px}.panel{background:var(--paper);border:1px solid var(--line);padding:28px;border-radius:8px;margin-bottom:22px}.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.filters label{flex:1;min-width:145px;margin:0}.filters>a{font-size:13px;padding-bottom:12px}.catalog-page label{display:block;font-weight:600;font-size:13px;margin-bottom:18px}.catalog-page input:not([type=checkbox]),.catalog-page select,.catalog-page textarea{display:block;width:100%;font:inherit;font-weight:400;color:var(--ink);background:white;border:1px solid #aab8ae;border-radius:4px;padding:12px;margin-top:7px;min-height:45px}.catalog-page input[type=file]{padding:10px;font-size:12px}.catalog-page textarea{resize:vertical}.catalog-page input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest);flex-shrink:0}.catalog-page .checkbox{display:flex;align-items:center;gap:10px}.catalog-page button{font-family:inherit;cursor:pointer;border:0}.catalog-page .btn-outline{border:1px solid var(--line);color:var(--ink);background:white}.catalog-page .btn-danger{color:white;background:#912f2f}.catalog-page :focus-visible{outline:3px solid #668d17;outline-offset:3px}.result-count,.muted{color:var(--muted)}.small{font-size:13px}.bike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bike-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;overflow:hidden}.bike-card-link{display:block;text-decoration:none;height:100%}.bike-card-link:hover h2{text-decoration:underline}.bike-cover{aspect-ratio:4/3;position:relative;background:#e6e9df;display:grid;place-items:center}.bike-cover img{width:100%;height:100%;object-fit:contain;background:white}.bike-cover .badge{position:absolute;top:16px;left:16px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:6px 10px;border-radius:30px;width:max-content}.badge.available{background:#dbefbc;color:#244900}.badge.reserved{background:#fff0c2;color:#6d4a00}.badge.sold{background:#eee;color:#555}.no-photo{color:var(--muted);font-size:14px}.bike-card-copy{padding:24px}.bike-card-copy h2{font-size:25px;margin:12px 0}.bike-card-copy .eyebrow{font-size:10px;margin-bottom:10px}.bike-card-copy>p:not(.eyebrow){font-size:13px;color:var(--muted)}.price{font-size:24px;display:block}.card-action{display:block;font-size:13px;font-weight:600;margin-top:20px}.empty-state{padding:42px;text-align:center}.catalog-note{margin-top:55px;padding:28px 0;border-block:1px solid var(--line);max-width:780px}.catalog-note p{color:var(--muted)}.back-link{display:inline-block;font-size:13px;margin-bottom:25px}.product-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-content:start}.gallery>a:first-child{grid-column:1/-1}.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:white;border-radius:7px;border:1px solid var(--line)}.product-info h1{font-size:clamp(34px,4vw,51px);overflow-wrap:anywhere}.product-price{font-size:36px;font-weight:700;margin:25px 0}.specs{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;font-size:14px;border-block:1px solid var(--line);padding:20px 0}.specs dt{color:var(--muted)}.specs dd{margin:0;overflow-wrap:anywhere}.description{margin-top:35px;max-width:850px}.description p{white-space:normal;overflow-wrap:anywhere}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.auth-panel{max-width:540px;margin:15px auto 60px}.auth-panel h1{font-size:42px}.auth-panel>p{color:var(--muted)}.error{background:#ffebeb;border:1px solid #c67474;color:#7b2424;padding:16px;border-radius:6px}.notice{background:#e9f5d7;border:1px solid #9ebd78;padding:16px;border-radius:6px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.heading-row h1{font-size:44px}.heading-row p{color:var(--muted)}.admin-bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px;font-size:13px}.admin-bar form{margin:0}.button-link{background:none;text-decoration:underline;color:inherit;font-size:inherit;padding:0}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filter-tabs a{border:1px solid var(--line);border-radius:30px;text-decoration:none;font-size:13px;padding:8px 16px}.filter-tabs a[aria-current]{background:var(--forest);color:white}.inventory-list{display:grid;gap:15px}.inventory-item{display:flex;align-items:center;gap:24px;padding:20px;margin:0}.inventory-image{width:140px;aspect-ratio:4/3;flex-shrink:0;display:grid;place-items:center;background:#e6e9df;border-radius:4px}.inventory-image img{width:100%;height:100%;object-fit:contain;background:white}.inventory-copy{flex:1;min-width:0}.inventory-copy h2{margin:10px 0;font-size:24px;overflow-wrap:anywhere}.inventory-copy p{margin:6px 0}.inventory-copy .catalog-tags{margin:0}.editor-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:25px;align-items:start}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.image-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px}.image-editor img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#eee;border-radius:4px}.image-editor label{font-size:11px}.upload-preview{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px;font-size:12px}.upload-preview img{width:80px;height:60px;object-fit:contain}.user-row{padding:20px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.user-row:first-of-type{border-top:0}.user-row p{font-size:13px}.catalog-page details{margin-top:20px}.catalog-page summary{cursor:pointer;font-size:14px;font-weight:600}.catalog-page details form{margin-top:18px}.secret-key{display:block;overflow-wrap:anywhere}.recovery-codes{font-size:16px;columns:2}.danger-zone{margin-top:20px}.catalog-page .site-footer{padding-bottom:0}
@media(max-width:950px){.bike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid{grid-template-columns:1fr}.product-grid{gap:28px}.catalog-page .top-links{gap:14px;font-size:12px}}
@media(max-width:650px){.catalog-main{padding-top:30px;padding-bottom:45px}.catalog-page .header-inner{height:auto;min-height:90px;padding:12px 0;gap:15px}.catalog-page .brand img{width:125px}.catalog-page .top-links{flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;max-width:190px}.catalog-page h1{font-size:40px}.catalog-heading{padding:5px 0 25px}.catalog-heading>p:not(.eyebrow){font-size:16px}.bike-grid,.product-grid{grid-template-columns:1fr}.filters{gap:14px;padding:20px}.filters label{min-width:100%;margin:0}.panel{padding:22px}.heading-row{align-items:start;flex-direction:column}.heading-row h1{font-size:36px}.inventory-item{flex-wrap:wrap;gap:16px}.inventory-image{width:90px}.inventory-copy h2{font-size:20px}.inventory-item>.btn{width:100%}.fields-two{grid-template-columns:1fr;gap:0}.form-actions .btn{width:100%}.auth-panel h1{font-size:34px}.recovery-codes{columns:1}.catalog-page .footer-inner{align-items:flex-start;gap:20px}.catalog-page .footer-right{flex-wrap:wrap}}
@media(max-width:760px){.catalog-page .top-links a:not(.nav-cta){display:inline-block}.catalog-page .top-links{display:flex;gap:8px 14px;flex-wrap:wrap;justify-content:flex-end}.catalog-page .brand{flex-shrink:0}}

.bike-cover{overflow:hidden;min-height:0}.bike-cover>img{position:absolute;inset:0;display:block;object-position:center}
.cover-editor[hidden]{display:none}.cover-editor canvas{display:block;width:100%;height:auto;aspect-ratio:4/3;background:white;border:1px solid var(--line);border-radius:6px;margin-bottom:20px}
.catalog-page .cover-editor input[type=range]{padding:0;min-height:32px;accent-color:var(--forest);border:0;background:transparent;cursor:pointer}.cover-editor .btn{margin-top:8px}
/* Product photos stay on the listing, with a persistent way to close them. */
.photo-viewer{width:min(1100px,calc(100% - 24px));height:min(900px,calc(100dvh - 24px));max-width:none;max-height:none;padding:20px;border:1px solid #46564d;border-radius:12px;background:#102019;color:#fff;overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column;gap:12px}.photo-viewer::backdrop{background:rgba(0,0,0,.86)}.photo-viewer-open{overflow:hidden}
.photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.photo-toolbar p{margin:0;font-size:13px;color:#cad5cd}.catalog-page .photo-close{display:flex;align-items:center;gap:16px;padding:12px 18px;min-height:48px;border-radius:6px;background:var(--green);color:var(--ink);font-size:14px;font-weight:700}.photo-close span{font-size:26px;line-height:1}
.photo-stage{flex:1;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.photo-stage img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}.catalog-page .photo-step{display:grid;place-items:center;min-height:48px;border:1px solid #5f7266;border-radius:6px;background:#243b2d;color:white}.photo-step[hidden]{visibility:hidden;display:block}.photo-step svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.photo-help{text-align:center;font-size:12px;color:#cad5cd;margin:0;flex-shrink:0}
.photo-fallback{scroll-margin-top:110px;padding:24px 0}.photo-fallback>img{display:block;max-width:100%;max-height:80svh;margin:20px auto;object-fit:contain}.gallery-photo{cursor:zoom-in}
@media(max-width:600px){.photo-viewer{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:max(14px,env(safe-area-inset-top)) 10px max(16px,env(safe-area-inset-bottom))}.photo-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.photo-help{padding-bottom:4px}}
.inventory-views{font-weight:700;color:#46640d;font-size:14px}.inventory-views .muted{font-weight:400}
