:root{--color-accent:#198754;--color-accent-dark:#11633d;--color-bg:#f6f8f4;--color-surface:#fff;--color-text:#18221b;--color-muted:#637064;--color-border:#dfe8dd;--color-danger:#b42318;--space:clamp(16px,2vw,24px);--radius:18px;--shadow:0 10px 30px rgba(20,40,20,.08);--header-h:68px;--z-header:100;--z-drawer:200;--z-toast:300}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--color-bg);color:var(--color-text);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden}.shell{width:min(1180px,100% - 32px);margin-inline:auto}.skip-link{position:absolute;left:-999px;top:8px;z-index:999;background:#fff;padding:10px;border-radius:10px}.skip-link:focus{left:8px}.app-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-shell{min-height:var(--header-h);display:flex;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-weight:800;text-decoration:none;font-size:1.1rem;min-height:44px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#e7f5ec}.desktop-nav{display:flex;gap:8px;align-items:center;flex:1}.desktop-nav a,.drawer-nav a{min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;text-decoration:none;color:var(--color-muted);font-weight:700}.desktop-nav a:hover,.desktop-nav a:focus-visible,.desktop-nav a.active,.drawer-nav a:hover,.drawer-nav a:focus-visible{background:#e7f5ec;color:var(--color-accent-dark)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.auth-skeleton{width:150px;height:34px;border-radius:999px;background:linear-gradient(90deg,#edf2ee,#f8faf8,#edf2ee);animation:pulse 1.4s infinite}.btn{min-height:44px;border-radius:14px;font-weight:800;padding:.65rem 1rem}.btn-primary,.btn-success{background:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover,.btn-success:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-danger-soft{background:#fff2f0;color:var(--color-danger);border:1px solid #ffd6d1}.icon-cart{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:14px;background:#e7f5ec;color:var(--color-accent-dark);text-decoration:none;font-weight:900}.badge-soft,[data-cart-count]{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#d6f0dd;color:#0d4f2b;font-weight:900}.menu-button{display:none;min-width:44px;min-height:44px;border:1px solid var(--color-border);border-radius:14px;background:#fff}.page-shell{padding:28px 0 56px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space);align-items:center}.panel,.card,.auth-card,.cart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3vw,30px)}.eyebrow{color:var(--color-accent-dark);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:.3em 0}.catalog-title{font-size:clamp(1.6rem,3vw,2.4rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 14px}.lead{font-size:1.12rem;color:var(--color-muted)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.section{margin-top:34px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bikes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.bike-card{display:flex;flex-direction:column;overflow:hidden}.bike-card img,.bike-image{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef3ef;border-radius:14px}.bike-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.status{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:5px 10px;background:#eef3ef;font-weight:800;font-size:.85rem}.status.ok{background:#e7f5ec;color:#11633d}.status.warn{background:#fff7e6;color:#8a5b00}.filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.form-control,.form-select{min-height:44px;border-radius:12px;border:1px solid var(--color-border)}label.form-label{font-weight:800}.empty-state,.error-state{text-align:center;padding:34px;border:1px dashed var(--color-border);border-radius:var(--radius);background:#fff}.skeleton{border-radius:14px;background:linear-gradient(90deg,#edf2ee,#f8faf8,#edf2ee);min-height:160px;animation:pulse 1.4s infinite}.drawer-backdrop{position:fixed;inset:0;z-index:calc(var(--z-drawer) - 1);background:rgba(0,0,0,.32)}.mobile-drawer{position:fixed;inset:0 0 0 auto;width:min(360px,92vw);z-index:var(--z-drawer);background:#fff;transform:translateX(105%);transition:.2s;padding:max(18px,env(safe-area-inset-top)) 18px 18px;box-shadow:var(--shadow)}.mobile-drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-nav{display:grid;gap:8px;margin-top:16px}.toast-stack{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:var(--z-toast);display:grid;gap:8px}.toast-msg{background:#18351f;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.app-footer{border-top:1px solid var(--color-border);background:#fff;padding:28px 0;color:var(--color-muted)}.footer-grid{display:flex;justify-content:space-between;gap:20px}.footer-grid a{display:block;color:var(--color-muted)}.booking-list{display:grid;gap:14px}.booking-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.table-cards{width:100%}.visually-muted{color:var(--color-muted)}[hidden],.is-hidden{display:none!important}@keyframes pulse{0%,100%{background-position:0 0;opacity:.75}50%{opacity:1}}@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:inline-flex;align-items:center;justify-content:center}.hero{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.booking-card{grid-template-columns:1fr}.header-actions [data-logout]{display:none}}@media(max-width:560px){.shell{width:min(100% - 20px,1180px)}.page-shell{padding-top:16px}.grid,.filters,.bikes-grid{grid-template-columns:1fr}.panel,.card,.auth-card,.cart-card{padding:16px;border-radius:16px}.brand span:last-child{display:none}.footer-grid{display:grid}.actions .btn{width:100%}.toast-stack{left:10px;right:10px}.icon-cart span{font-size:.8rem}}

/* Legal footer restored from the original UI. Keep seller/requisites visible on every page. */
.app-footer h2{font-size:1.05rem;color:var(--color-accent-dark);margin:0 0 12px;font-weight:900}.legal-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.footer-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}.footer-list li{display:flex;gap:10px;align-items:flex-start;color:var(--color-muted);overflow-wrap:anywhere}.footer-list i{width:20px;min-width:20px;color:var(--color-accent-dark);margin-top:3px}.app-footer a{color:var(--color-accent-dark);font-weight:800}.footer-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.footer-copy{margin-top:18px;text-align:center;color:var(--color-muted)}.footer-legal-docs{display:flex;flex-wrap:wrap;gap:10px}.legal-doc-btn{text-decoration:none}.offer-btn{color:#fff!important;text-decoration:none}.offer-btn:hover,.offer-btn:focus-visible{color:#fff!important;background:var(--color-accent-dark);border-color:var(--color-accent-dark)}@media(max-width:700px){.legal-footer-grid{grid-template-columns:1fr}.app-footer{text-align:left}.footer-copy{text-align:left}}

/* Booking detail: item cards stay readable on small screens. */
.booking-detail-items{display:grid;gap:14px;margin:18px 0}.booking-detail-item{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.booking-detail-item h3{font-size:1.1rem;margin:0 0 12px;overflow-wrap:anywhere}.booking-detail-item dl{display:grid;gap:10px;margin:0}.booking-detail-item dl>div{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:10px;align-items:start}.booking-detail-item dt{font-weight:800;color:var(--color-muted)}.booking-detail-item dd{margin:0;overflow-wrap:anywhere}@media(max-width:560px){.booking-detail-item dl>div{grid-template-columns:1fr;gap:2px}.booking-detail-item{padding:14px}}

/* Payment status page follows the main site visual system. */
.payment-status-page{display:grid;gap:22px}.payment-status-hero{padding:18px;border:1px solid var(--color-border);border-radius:var(--radius);background:#f8fbf8}.payment-summary h1{margin-top:0}.inline-message{border-radius:12px;padding:12px 14px;margin-top:14px;display:none}.inline-message.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.inline-message.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.rental-points .panel{box-shadow:none}.rental-points h3{margin-top:0}.rental-points p{margin-bottom:0;color:var(--color-muted)}

/* Home FAQ, footer navigation, cart summary and calmer bike cards. */
.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--color-border);border-radius:14px;background:#fff;padding:14px}.faq-list summary{cursor:pointer;font-weight:900;min-height:44px;display:flex;align-items:center}.cart-total-row{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cart-total-box{display:grid;gap:2px;padding:14px 16px;border-radius:16px;background:#e7f5ec;color:var(--color-accent-dark);min-width:min(100%,260px)}.cart-total-box span{font-weight:800}.cart-total-box strong{font-size:clamp(1.4rem,3vw,2rem)}.bike-card{min-height:100%}.bike-card h3{min-height:2.8em;overflow-wrap:anywhere}.bike-card .actions{margin-top:auto}.bike-card .actions .btn{width:100%}.bikes-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}@media(min-width:1100px){.bikes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.header-actions [data-guest-only]{display:none}.cart-total-row .btn{width:100%}}

.filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

.booking-detail-bike{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:start}.booking-detail-bike-photo{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef3ef;border-radius:14px;border:1px solid var(--color-border)}@media(max-width:560px){.booking-detail-bike{grid-template-columns:1fr}.booking-detail-bike-photo{max-height:240px}}
