.ri-maps{margin:28px auto 55px}.ri-maps-head p,.ri-maps-note{opacity:.8}.ri-maps-layout{display:grid;grid-template-columns:minmax(270px,.88fr) minmax(300px,1.12fr);gap:20px;align-items:start}.ri-maps-list{display:grid;gap:13px;max-height:720px;overflow:auto}.ri-maps-item,.ri-maps-preview{background:#16191f;color:#f2f2f2;border:1px solid #464954;border-radius:14px;padding:17px}.ri-maps-item h3{margin:0 0 7px;font-size:1.1rem}.ri-maps-item p{margin:8px 0;line-height:1.48}.ri-maps-address{color:#e7b4ac}.ri-maps-tag{display:inline-block;border-radius:14px;background:#32262b;padding:4px 9px;font-size:.75rem}.ri-maps-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.ri-maps-actions button,.ri-maps-actions a{border:1px solid #ca6056;background:#a8332e;border-radius:9px;padding:10px 13px;color:white;text-decoration:none;font:inherit;cursor:pointer}.ri-maps-actions a{background:#292d36}.ri-maps-preview{position:sticky;top:20px}.ri-maps-preview h3{margin:0 0 12px}.ri-maps-iframe-wrap{height:420px;position:relative;background:#252933;border-radius:10px;overflow:hidden}.ri-maps-iframe-wrap iframe{display:block;width:100%;height:100%;border:0}.ri-maps-iframe-wrap iframe:not([src]){display:none}.ri-maps-iframe-wrap p{position:absolute;inset:0;display:grid;place-content:center;padding:25px;text-align:center}.ri-maps-iframe-wrap p[hidden]{display:none}.ri-maps-note{font-size:.82rem}.ri-maps-empty{padding:18px;border:1px dashed #777;border-radius:8px}@media(max-width:800px){.ri-maps-layout{grid-template-columns:1fr}.ri-maps-list{max-height:none}.ri-maps-preview{position:static}.ri-maps-iframe-wrap{height:330px}}
/* Printable map resource cards: self-contained and responsive */
.ri-print-maps{margin:30px auto 55px}.ri-print-maps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:16px;align-items:stretch}.ri-print-map-card{background:#16191f;border:1px solid #484b55;border-radius:13px;padding:18px;color:#f6f6f6;min-height:220px;display:flex;flex-direction:column;box-sizing:border-box}.ri-print-map-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ri-print-map-number{display:grid;place-content:center;width:29px;height:29px;flex:none;border-radius:50%;background:#9d302c;color:white;font-weight:700;font-size:14px}.ri-print-map-kind{font-size:.78rem;color:#e8aea8}.ri-print-map-card h3{margin:0 0 9px;font-size:1.1rem;line-height:1.25}.ri-print-map-card p{margin:0 0 17px;line-height:1.45;font-size:.93rem;color:#d1d2d8}.ri-print-map-link{display:block;text-align:center;margin-top:auto;padding:10px 9px;border-radius:8px;background:#ae3630;color:#fff!important;font-weight:700;text-decoration:none}.ri-print-map-link:hover,.ri-print-map-link:focus-visible{background:#c44b44;text-decoration:underline}.ri-print-map-disclaimer{font-size:.85rem;opacity:.8;margin-top:16px}

/* Unified Maps & Directions page blocks: consistent cards */
.ri-map-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:18px;align-items:stretch;padding-block:20px}
.ri-map-page-card{min-height:340px;height:340px;display:flex;flex-direction:column;overflow:hidden;background:#20252c;border:1px solid #52606b;border-radius:12px;color:#f6f6f6}
.ri-map-page-card>a:first-child{height:118px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#101419}
.ri-map-page-card img{max-width:100%;max-height:118px;width:100%;height:100%;object-fit:contain}
.ri-map-page-card-body{padding:12px;display:flex;flex-direction:column;gap:7px;flex:1;min-height:0}
.ri-map-page-category{font-size:12px;color:#d2d9e3}.ri-map-page-card h2{font-size:17px;line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ri-map-page-desc{font-size:13px;line-height:1.4;overflow:auto;flex:1;min-height:30px}.ri-map-page-desc p{margin:0}
.ri-map-page-button{background:#305c88;color:white!important;text-align:center;text-decoration:none;border-radius:7px;padding:9px 8px;font-weight:700;flex-shrink:0}
@media(max-width:520px){.ri-map-page-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}}

/* Equal image slots and consistent card layout for all Maps content blocks */
.ri-map-page-card{height:340px;min-height:340px;box-sizing:border-box}
.ri-map-page-image-placeholder{height:118px;flex:0 0 118px;display:grid;place-items:center;background:#101419;color:#bbc6d5;font-size:12px}
.ri-map-page-button{margin-top:auto;display:block}
.ri-map-page-grid:empty{display:none}

/* Maps & Directions: 350 x 150 destination cards, per approved layout */
.ri-maps-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),350px));gap:12px;max-height:none;overflow:visible;align-content:start;justify-content:start}
.ri-maps-item{box-sizing:border-box;width:350px;max-width:100%;height:150px;min-height:150px;max-height:150px;overflow:hidden;display:flex;flex-direction:column;gap:3px;position:relative;padding:9px 10px;border-radius:5px;background:#101014;color:#fff}
.ri-maps-item h3{font-size:14px;line-height:1.13;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;flex-shrink:0}
.ri-maps-item .ri-maps-address{font-size:10px;line-height:1.15;margin:0;color:#e7afa8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.ri-maps-item .ri-maps-description{display:block;position:relative;z-index:1;border:1px solid #a7a6a7;flex:0 0 22px;min-height:22px;max-height:22px;background:#23252d;box-sizing:border-box}
.ri-maps-description summary{cursor:pointer;list-style:none;padding:2px 8px;font-size:11px;line-height:16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ri-maps-description summary::-webkit-details-marker{display:none}
.ri-maps-description summary:before{content:'⌄';padding-right:7px;font-size:14px;font-weight:bold}
.ri-maps-description[open] summary:before{content:'⌃'}
.ri-maps-description[open]{z-index:4}
.ri-maps-description-content{box-sizing:border-box;position:absolute;left:-1px;right:-1px;top:20px;padding:10px;background:#252833;color:#fff;border:1px solid #a7a6a7;border-radius:0 0 7px 7px;max-height:220px;overflow:auto;font-size:12px;line-height:1.4;box-shadow:0 8px 22px #000b}
.ri-maps-item .ri-maps-tag{display:block;width:max-content;max-width:95%;padding:3px 8px;font-size:10px;line-height:15px;border-radius:7px;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.ri-maps-item .ri-maps-actions{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;margin-top:auto;min-height:30px}
.ri-maps-item .ri-maps-actions button,.ri-maps-item .ri-maps-actions a{flex:0 0 auto;margin:0;padding:6px 9px;min-height:28px;box-sizing:border-box;font-size:10px;font-weight:700;line-height:15px;border-radius:5px;white-space:nowrap;color:white!important}
.ri-maps-item .ri-maps-actions button{background:#dc1315;border-color:#dc1315}
.ri-maps-item .ri-maps-actions a{background:#71747a;border-color:#b9bec5}
@media(max-width:800px){.ri-maps-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),350px))}}
@media(max-width:370px){.ri-maps-list{grid-template-columns:minmax(0,1fr)}.ri-maps-item{width:100%}}
.ri-maps-item:has(.ri-maps-description[open]){overflow:visible;z-index:8}
.ri-maps-description[open] .ri-maps-description-content{max-height:230px}

/* 2026-10-29: Page Content Blocks on Custom Motorcycles public page only. */
.ri-public-motorcycle-blocks{
 grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),300px));align-items:start;
}
.ri-public-motorcycle-blocks .ri-map-page-card{
 box-sizing:border-box;width:300px;max-width:100%;height:auto;min-height:0;
 overflow:visible;align-self:start;
}
.ri-public-motorcycle-blocks .ri-map-page-card>a:first-child{height:250px;flex:0 0 250px}
.ri-public-motorcycle-blocks .ri-map-page-card img{max-height:250px;object-fit:contain}
.ri-public-motorcycle-blocks .ri-map-page-image-placeholder{height:250px;flex:0 0 250px}
.ri-public-motorcycle-blocks .ri-map-page-card-body{min-height:0;flex:0 1 auto}
.ri-public-motorcycle-blocks .ri-map-page-desc{overflow:visible;flex:0 1 auto;min-height:0}
@media(max-width:340px){.ri-public-motorcycle-blocks{grid-template-columns:minmax(0,1fr)}}

/* 2026-10-29: public Custom Motorcycles cards use the same footprint as Photo Gallery. */
.ri-public-motorcycle-blocks{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))!important;align-items:stretch!important}
.ri-public-motorcycle-blocks .ri-map-page-card{width:auto!important;max-width:none!important;height:340px!important;min-height:340px!important;max-height:340px!important;overflow:hidden!important;align-self:stretch!important}
.ri-public-motorcycle-blocks .ri-map-page-card>a:first-child{height:118px!important;flex:0 0 118px!important;overflow:hidden!important}
.ri-public-motorcycle-blocks .ri-map-page-card img{width:100%!important;height:100%!important;max-height:118px!important;object-fit:contain!important}
.ri-public-motorcycle-blocks .ri-map-page-image-placeholder{height:118px!important;flex:0 0 118px!important}
.ri-public-motorcycle-blocks .ri-map-page-card-body{min-height:0!important;flex:1 1 auto!important;overflow:hidden!important}
.ri-public-motorcycle-blocks .ri-map-page-desc{min-height:0!important;flex:1 1 auto!important;overflow:auto!important}


/* Riding Iron unified public Page Content Block card presentation — Photo Gallery is reference.
   Only affects public card display; never admin editors or submission forms. */
.ri-map-page-grid.ri-standard-page-blocks,
.ri-map-page-grid.ri-public-motorcycle-blocks {
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))!important;
  gap:18px!important;align-items:stretch!important;
}
.ri-standard-page-blocks > .ri-map-page-card,
.ri-public-motorcycle-blocks > .ri-map-page-card {
  box-sizing:border-box!important;min-width:0!important;width:auto!important;max-width:none!important;
  height:340px!important;min-height:340px!important;max-height:340px!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
  background:#20252c;border:1px solid #52606b;border-radius:12px;color:#f6f6f6;
}
.ri-standard-page-blocks > .ri-map-page-card > a:first-child,
.ri-public-motorcycle-blocks > .ri-map-page-card > a:first-child {
  height:118px!important;min-height:118px!important;flex:0 0 118px!important;
  overflow:hidden!important;display:flex!important;align-items:center;justify-content:center;
  background:#101419;
}
.ri-standard-page-blocks .ri-map-page-card img,
.ri-public-motorcycle-blocks .ri-map-page-card img {
  display:block;width:100%!important;height:100%!important;max-height:118px!important;object-fit:contain!important;
}
.ri-standard-page-blocks .ri-map-page-card-body,
.ri-public-motorcycle-blocks .ri-map-page-card-body {padding:12px!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
.ri-standard-page-blocks .ri-map-page-desc,
.ri-public-motorcycle-blocks .ri-map-page-desc {flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
/* Legacy approved motorcycle submissions: same card footprint and one-image cover.
   Other photo anchors remain in the DOM and retain the existing lightbox group. */
.ri-feature-list:has(.ri-motorcycle-card) {
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))!important;
  gap:18px!important;align-items:stretch!important;justify-content:stretch!important;
}
.ri-feature-list:has(.ri-motorcycle-card) > h2,
.ri-feature-list:has(.ri-motorcycle-card) > p {grid-column:1/-1}
.ri-feature-list .ri-feature-card.ri-motorcycle-card {
  width:auto!important;max-width:none!important;min-width:0!important;
  height:340px!important;min-height:340px!important;max-height:340px!important;
  box-sizing:border-box!important;margin:0!important;padding:0!important;
  background:#20252c!important;border:1px solid #52606b!important;border-radius:12px!important;
  display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important;
}
.ri-feature-list .ri-motorcycle-card > .ri-bike-photos {
  order:0!important;display:block!important;position:relative!important;
  width:100%!important;height:118px!important;min-height:118px!important;max-height:118px!important;
  flex:0 0 118px!important;overflow:hidden!important;background:#101419!important;margin:0!important;
}
.ri-feature-list .ri-motorcycle-card .ri-bike-photos > a:first-child {
  display:flex!important;width:100%!important;height:118px!important;
  align-items:center;justify-content:center;grid-column:auto!important;grid-row:auto!important;
}
.ri-feature-list .ri-motorcycle-card .ri-bike-photos > a:first-child img {
  display:block!important;width:100%!important;height:118px!important;max-height:118px!important;object-fit:contain!important;
}
.ri-feature-list .ri-motorcycle-card .ri-bike-photos > a:not(:first-child) {
  display:block!important;position:absolute!important;width:1px!important;height:1px!important;
  overflow:hidden!important;opacity:0!important;pointer-events:none!important;
}
.ri-feature-list .ri-motorcycle-card > .ri-motorcycle-card-title {
  order:1!important;padding:8px 12px 0!important;margin:0!important;
  font-size:17px!important;line-height:1.25!important;max-height:50px!important;
}
.ri-feature-list .ri-motorcycle-card > .ri-bike-story-top {
  order:2!important;margin:4px 12px!important;flex:0 0 auto!important;max-height:none!important;
}
.ri-feature-list .ri-motorcycle-card > .ri-bike-details {
  order:3!important;padding:6px 12px 12px!important;display:flex!important;
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;
}
.ri-feature-list .ri-motorcycle-card .ri-bike-share {
  margin-top:auto!important;display:flex!important;gap:6px!important;flex-wrap:wrap!important;
}
@media(max-width:520px){
  .ri-map-page-grid.ri-standard-page-blocks,.ri-map-page-grid.ri-public-motorcycle-blocks,
  .ri-feature-list:has(.ri-motorcycle-card){grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))!important}
}


/* November 2: Public Content Blocks: keep titles and body in distinct flex rows.
   Scoped to the About Riding Iron public page to avoid changing other page designs. */
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-card-body > h2 {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
}
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-desc {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-desc > :first-child {margin-top: 0 !important;}
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-desc ul,
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-desc ol {padding-left: 1.15rem !important;}
.ri-about-public-blocks > .ri-map-page-card .ri-map-page-button {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
}
