
.otv-hero{background:linear-gradient(90deg,rgba(8,26,19,.93),rgba(10,34,26,.44)),url('https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=1500&q=80') center/cover;border:1px solid #66866f;min-height:245px;border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:15px}
.otv-hero h2{font-size:clamp(27px,4vw,38px);margin:8px 0 6px}.otv-hero p{line-height:1.5;max-width:600px}.otv-tabs,.otv-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.otv-tabs button{white-space:nowrap}.otv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.otv-grid>*{min-width:0}.otv-card{margin:0}.otv-card h3{margin:6px 0}.otv-card p{font-size:13px;line-height:1.55;color:#c7d7c9}.otv-eyebrow{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#ebc58c}.otv-status{padding:12px;border-radius:11px;border:1px solid #476b52;color:#d5e5d4;background:#213c2c;margin-bottom:14px;font-size:13px;line-height:1.5}.otv-note{font-size:12px;line-height:1.6;color:#c1d5c5}.otv-tags{display:flex;flex-wrap:wrap;gap:6px}.otv-tag{font-size:11px;background:#284936;border:1px solid #587658;border-radius:18px;padding:5px 8px}.otv-resource{color:#f2c583;font-weight:750}.otv-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.otv-field-grid>*{min-width:0}.otv-card label{font-size:13px}.otv-card small{font-size:12px;color:#b3cbb8}.otv-warn{border-color:#95764b!important;background:#252e20!important}.otv-ride-date{color:#eecb97;font-size:12px;font-weight:700}@media(max-width:680px){.otv-grid,.otv-field-grid{grid-template-columns:1fr}.otv-hero{padding:18px;min-height:210px}}

.otv-mapbox{height:300px;margin:14px 0;border:1px solid #73977a;border-radius:14px;background:#203d2d;z-index:0}.otv-mapbox .leaflet-container{border-radius:14px}.otv-photo-card{padding:0!important;overflow:hidden}.otv-photo{height:145px;background-position:center;background-size:cover;display:flex;align-items:end}.otv-photo span{width:100%;padding:6px 10px;font-size:11px;background:#12251dcc;color:#fff}.otv-cardbody{padding:15px}.otv-secondary-link{font-size:12px;color:#f0cf95}.otv-card .otv-buttons{align-items:center}.otv-card .btn{font-size:12px}

/* 16.14 iPad/tablet wide-card refinement */
.otv-access-badge{display:inline-block;margin:4px 0 7px;padding:5px 10px;border:1px solid #b99b58;background:#344e35;color:#fff1cd;border-radius:20px;font-size:11px;font-weight:750}
@media(min-width:681px){.otv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.otv-photo{height:170px}.otv-cardbody{padding:18px}}
@media(min-width:1200px){.otv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:681px) and (max-width:1000px){.otv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.otv-card .btn{white-space:normal}}

/* 16.15 mobile and tablet layout hardening */
.otv-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.otv-grid:has(> :only-child)>.otv-card{max-width:none}
.otv-card,.otv-cardbody,.otv-grid,.otv-mapbox{min-width:0;max-width:100%}
.otv-card a,.otv-card p,.otv-card h3{overflow-wrap:anywhere}
.otv-card .otv-buttons{display:flex;flex-wrap:wrap}
.otv-card .btn{white-space:normal;min-height:40px}
@media(max-width:700px){
 .otv-hero{padding:20px 16px;min-height:190px}
 .otv-hero h2{font-size:clamp(24px,7vw,32px)}
 .otv-tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:8px;-webkit-overflow-scrolling:touch}
 .otv-tabs button{flex:0 0 auto;scroll-snap-align:start;min-height:44px}
 .otv-grid,.otv-field-grid{grid-template-columns:minmax(0,1fr)}
 .otv-photo{height:190px}
 .otv-cardbody{padding:16px}
 .otv-mapbox{height:300px;touch-action:pan-y}
 .otv-card .otv-buttons .btn{flex:1 1 auto}
}
