*{box-sizing:border-box}body{margin:0;background:white;color:#101f32;font:15px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit;color:inherit}button,summary,select{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{background:#fff;border:1px solid #cbd1d5;border-radius:5px;padding:8px 13px}.wrap{width:min(1510px,100%);padding-inline:clamp(18px,4.6vw,76px);margin:auto}header{border-bottom:1px solid #dce1e5}.mast{display:flex;align-items:center;justify-content:space-between;height:77px}.mast img{display:block;width:157px}.mast span,.muted{color:#536173}.crumb{display:block;margin:26px 0 16px;color:#556278;font-size:13px}.pagehead{display:flex;align-items:baseline;gap:18px;margin:34px 0 25px}h1,h2,h3{font-family:Montserrat,Inter,system-ui,sans-serif;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(34px,4.1vw,60px);margin:0}h2{font-size:28px}h3{margin:14px 0 5px;font-size:clamp(20px,2vw,29px)}.shopping{display:grid;grid-template-columns:210px 1fr;gap:clamp(22px,3.1vw,50px)}aside{min-width:0}aside h2{margin:0;font-size:18px}.facet{border:0;border-bottom:1px solid #dce1e5;padding:17px 0}.facet summary{font-weight:650;list-style:none}.facet summary:after{content:'+';float:right}.facet[open] summary:after{content:'−'}.facet label{display:flex;gap:8px;align-items:center;margin:9px 0 0}.facet input{accent-color:#12375b}.filterTop,.bar,.left,.right{display:flex;align-items:center;gap:10px}.filterTop,.bar{justify-content:space-between}.filterTop{min-height:45px;border-bottom:1px solid #c9d0d7}.clear{border:none;font-size:13px;text-decoration:underline;padding:0}.range{display:flex;gap:6px}.range label{display:grid;min-width:0;font-size:12px}.range input{width:100%;border:1px solid #b9c3ce;border-radius:4px;padding:8px}.facet button{margin-top:10px}.bar{min-height:45px;flex-wrap:wrap;margin-bottom:14px}.right,.left{flex-wrap:wrap}.view{display:flex;gap:2px;border:1px solid #ccd3da;border-radius:5px;padding:2px}.view button{font-size:13px;border:0;padding:5px 9px}.view [aria-pressed=true]{color:#fff;background:#142d49}.bar select,.search{background:white;border:1px solid #c6cfd6;border-radius:5px;padding:6px}.search{width:100%;margin-top:14px}.cards{display:grid;gap:30px 22px;align-content:start}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-width:0;border-bottom:1px solid #d9dfe3;padding-bottom:18px}.pic{display:block}.pic img,.frame img,.thumb img{width:100%;height:auto;display:block}.price{font-size:22px;letter-spacing:-.035em;font-weight:600;margin:4px 0 14px}.facts,.specs{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:6px;margin:0}.facts div,.specs div{display:flex;justify-content:space-between;gap:5px}.facts dt,.specs dt{color:#576575}.facts{font-size:13px}.facts dd,.specs dd{margin:0;text-align:right;font-weight:600}.list .card{display:grid;grid-template-columns:40% 1fr;gap:24px;align-items:center}.boat{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:start}.intro{padding-top:16px}.intro h1{font-size:clamp(36px,4.1vw,62px)}.intro .price{font-size:30px;margin:18px 0 2px}.actions{display:flex;gap:12px;margin:24px 0}.actions a{border:1px solid #1c3450;border-radius:4px;padding:10px 22px}.actions a:first-child{background:#102c49;color:white}.frame{position:relative}.frame>a{display:block}.arr{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:white;color:#10263f;box-shadow:0 1px 7px #10101038;font-size:23px;padding:0}.prev{left:12px}.next{right:12px}.thumbs{display:flex;gap:7px;overflow-x:auto;padding:9px 1px;scrollbar-width:thin}.thumb{padding:0;border:0;border-radius:2px;overflow:hidden;height:clamp(42px,5vw,74px);width:auto;flex:none;position:relative}.thumb[aria-pressed=true]::after{content:"";position:absolute;inset:0;border:2px solid #14385d;border-radius:inherit;pointer-events:none}.details{max-width:1080px;margin:36px 0}.specs{column-gap:50px;row-gap:0}.specs div{border-bottom:1px solid #dbe0e4;padding:12px 0}.desc{max-width:75ch;margin-bottom:64px}.full{max-width:1050px;margin:auto}.full img{display:block;width:100%;height:auto;margin:0;scroll-margin-top:62px}.topback{position:sticky;top:0;background:white;padding:12px 0;z-index:2}.mobile-filters{display:none}main{padding-bottom:60px}@media(max-width:950px){.facts{grid-template-columns:1fr}.shopping{grid-template-columns:160px 1fr}.bar{gap:8px}.mast{height:65px}}@media(max-width:700px){.mast{height:58px}.mast img{width:130px}.mast span{font-size:12px}.pagehead{margin:24px 0 14px}.shopping{display:block}.mobile-filters{display:block}.filterTop{border:0}aside{display:none}aside.open{display:block;border-bottom:1px solid #ccd1d5;padding-bottom:12px}.bar{margin:12px 0}.left{font-size:13px}.bar select{font-size:13px;max-width:142px}.cards{gap:19px 12px}.card h3{font-size:18px}.price{font-size:18px}.facts{font-size:12px}.list .card{grid-template-columns:43% 1fr;gap:14px}.boat{display:flex;flex-direction:column;gap:12px}.boat>div{width:100%;min-width:0}.intro{padding-top:0}.intro h1{font-size:34px}.specs{grid-template-columns:1fr}.details{margin:24px 0}.frame{margin-inline:-6px}.actions{margin-bottom:8px}.filterTop{margin-top:8px}}@media(max-width:370px){.tiles{grid-template-columns:1fr}}

/* Keep gallery arrows together in the lower-right corner on every screen. */
 .frame .arr{top:auto;bottom:14px;transform:none;border-radius:50%;width:36px;height:36px;padding-bottom:2px;background:rgba(255,255,255,.82);color:#344151;box-shadow:0 1px 4px #0002;line-height:1}
 .frame .arr:hover,.frame .arr:focus-visible{background:white;color:#10263f}
 .frame .prev{left:auto;right:58px}
 .frame .next{right:14px}
.desc{margin-block:36px}
.technical{max-width:920px;margin:36px 0 24px}
.technical h2{margin:0 0 20px}
.spec-group{border-top:1px solid #cbd2d9}
.spec-group:last-child{border-bottom:1px solid #cbd2d9}
.spec-group summary{list-style:none;cursor:pointer;padding:17px 2px;display:flex;justify-content:space-between;align-items:center;font-weight:650;gap:12px}
.spec-group summary::-webkit-details-marker{display:none}
.spec-group summary:after{content:'';width:7px;height:7px;border-right:1.5px solid #586677;border-bottom:1.5px solid #586677;transform:rotate(45deg);margin-right:6px}
.spec-group[open] summary:after{transform:rotate(225deg)}
.spec-group table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 16px}
.spec-group td,.spec-group th{text-align:left;padding:9px 12px;border-top:1px solid #edf0f2;vertical-align:top;font-size:14px}
.spec-group th{width:34%;font-weight:500;color:#526172}
.spec-group td{font-variant-numeric:tabular-nums}
.spec-group td span{display:block;overflow-wrap:anywhere}
@media(max-width:700px){.spec-group td,.spec-group th{padding:9px 4px}.desc{margin-top:24px}}

.buyer-actions{display:grid;gap:9px;max-width:370px}
.buyer-actions a{display:block;text-align:center;padding:11px 16px;border:1px solid #bcc7d1;color:#132d49;border-radius:5px;font-weight:600;background:#fff}
.buyer-actions a.inquire{background:#142e4a;color:#fff;border-color:#142e4a}
.buyer-actions a:hover,.buyer-actions a:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.buyer-actions{max-width:none;margin-top:14px}}

.intro .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:370px;margin-bottom:9px}
.intro .actions a{text-align:center;padding-inline:6px}
.desc h3{font-size:21px;line-height:1.35;letter-spacing:-.02em;margin:26px 0 12px}
.desc h4{font-size:16px;margin:18px 0 5px}
.desc p,.desc li{line-height:1.6}
.desc ul{padding-left:1.4em;margin:6px 0 16px}
.desc li+li{margin-top:3px}
@media(max-width:700px){.intro .actions{max-width:none}.buyer-actions{margin-top:0}}


/* Inventory cards share one photo shape and a consistent type hierarchy. */
.cards .pic {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.cards .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.card-content {
  min-width: 0;
  container-type: inline-size;
}
.card-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 16px;
  margin: 20px 0 24px;
}
.card-heading h3,
.card-heading .price {
  margin: 0;
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-size: clamp(20px, 4.8cqi, 26px);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.035em;
}
.card-heading h3 {
  overflow-wrap: anywhere;
}
.card-heading .price {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cards .facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 20px;
  padding-top: 18px;
  border-top: 1px solid #e9ecef;
}
.cards .facts div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
  min-width: 0;
}
.cards .facts dt {
  color: #65707d;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
}
.cards .facts dd {
  margin: 0;
  text-align: left;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: -.02em;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.tiles .card {
  display: flex;
  flex-direction: column;
  border-bottom: 0;
  padding-bottom: 12px;
}
.tiles .card-content {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.tiles .facts {
  margin-top: auto;
}
.list .card {
  grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
  gap: 28px;
  padding: 16px;
  border: 1px solid #dce1e5;
  border-radius: 10px;
  background: #fafbfc;
}
.list .pic {
  border-radius: 5px;
}
.list .card-heading {
  margin-top: 0;
}
@container (max-width: 420px) {
  .cards .facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card-heading {
    gap: 12px;
  }
}
@media (max-width: 1100px) {
  .list .card {
    grid-template-columns: minmax(0, 36%) minmax(0, 1fr);
    gap: 20px;
  }
}
@media (max-width: 1000px) {
  .cards.tiles {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 700px) {
  .cards.tiles {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .list .card {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .cards .card-heading {
    margin-top: 18px;
    margin-bottom: 18px;
  }
  .cards .facts {
    gap: 16px 24px;
    padding-top: 16px;
  }
}


/* List cards present key specifications and contact actions together. */
.card-pricing {
  text-align: right;
}
.card-payment {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  color: #65707d;
  white-space: nowrap;
}
.list .facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 16px 0;
  background: #fff;
  border: 1px solid #e3e8ec;
  border-radius: 8px;
}
.list .facts div {
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  padding: 0 16px;
}
.list .facts div + div {
  border-left: 1px solid #e6eaee;
}
.list .facts dt {
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
  color: #65707d;
}
.list .facts dd {
  font-size: 18px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -.035em;
}
@container (max-width: 460px) {
  .list .facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
  }
  .list .facts div {
    padding: 14px 16px;
  }
  .list .facts div:nth-child(3) {
    border-left: 0;
  }
  .list .facts div:nth-child(n + 3) {
    border-top: 1px solid #e6eaee;
  }
}
.listing-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 20px;
}
.listing-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 12px;
  background: #fff;
  border: 1px solid #bdc7d1;
  border-radius: 5px;
  color: #142e4a;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  transition: background-color .15s ease;
}
.listing-actions a:hover {
  background: #edf1f5;
  text-decoration: none;
}
.listing-actions a:focus-visible {
  outline: 2px solid #315d8a;
  outline-offset: 3px;
}
.listing-actions .view-details {
  grid-column: 1 / -1;
  background: #01a7e1;
  border-color: #01a7e1;
  color: #102c49;
}
.listing-actions .view-details:hover {
  background: #0097ce;
  border-color: #0097ce;
}
@media (max-width: 900px) {
  .list .card {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .list .card-heading {
    margin-top: 18px;
    margin-bottom: 18px;
  }
}
@media (max-width: 700px) {
  .list .card {
    padding: 12px;
  }
}

/* Retail tiles: consistent photography, pricing and centered specs. */
.cards.tiles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  padding: 18px;
  background: #f2f2f7;
  border-radius: 24px;
}
.tiles .card {
  padding: 0;
  border: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  color: #151619;
}
.tiles .card-content { padding: 20px; }
.condition-badge {
  align-self: flex-start;
  padding: 5px 13px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
}
.condition-badge.new { background: #e0f1e8; color: #1b8148; }
.condition-badge.used { background: #edf0f4; color: #556171; }
.tiles .card-heading { align-items: start; gap: 12px; margin: 14px 0 28px; }
.tiles .card-heading h3, .tiles .card-heading .price {
  font-size: clamp(17px, 4.7cqi, 26px);
  line-height: 1.22;
}
.card-identity { min-width: 0; }
.card-msrp { margin-top: 6px; font-size: 14px; line-height: 1.5; color: #747a8c; }
.tiles .card-payment { color: #747a8c; font-weight: 500; }
.tiles .facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  margin-top: auto;
}
.tiles .facts div { flex-direction: column; align-items: center; gap: 5px; padding: 0 6px; text-align: center; }
.tiles .facts div + div { border-left: 1px solid #dfe1e6; }
.tiles .facts dt { font-size: 14px; color: #747a8c; font-weight: 400; }
.tiles .facts dd { font-size: clamp(17px, 4.7cqi, 25px); font-weight: 650; line-height: 1.25; letter-spacing: -.025em; text-align: center; white-space: nowrap; }
.payment-note { color: #65707d; font-size: 13px; }
@media(max-width: 1000px) {
  .cards.tiles { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width: 700px) {
  .cards.tiles { padding: 12px; gap: 20px; border-radius: 20px; margin-inline: -8px; }
  .tiles .card { border-radius: 20px; }
  .tiles .card-content { padding: 18px 14px; }
  .tiles .card-heading { margin: 14px 0 26px; gap: 10px; }
  .tiles .facts { padding: 0; gap: 0; }
  .tiles .facts dt { font-size: 13px; }
}

.tiles .facts { border-top: 0; }

/* A shared retail card style for tiles and list results. */
.listing-actions { margin-top: 24px; gap: 8px; }
.listing-actions a { min-height: 42px; border-radius: 9px; }
.listing-actions .view-details { color: #102c49; }
.cards.list { padding: 18px; gap: 24px; background: #f2f2f7; border-radius: 24px; }
.list .card {
  grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  color: #151619;
}
.list .pic { position: relative; width: 100%; min-width: 0; aspect-ratio: 3 / 2; min-height: 0; border-radius: 0; }
.list .pic img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.list .card-content { display: flex; flex-direction: column; padding: 24px; }
.list .condition-badge { font-size: 13px; padding: 4px 12px; }
.list .card-heading { align-items: start; gap: 12px; margin: 12px 0 24px; }
.list .card-heading h3, .list .card-heading .price { font-size: clamp(18px, 4.7cqi, 26px); line-height: 1.22; }
.list .card-payment { color: #747a8c; font-weight: 500; }
.list .facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  margin-top: auto;
  border: 0;
  border-radius: 0;
}
.list .facts div { flex-direction: column; align-items: center; gap: 5px; padding: 0 6px; text-align: center; border: 0; }
.list .facts div + div { border-left: 1px solid #dfe1e6; }
.list .facts dt { font-size: 14px; color: #747a8c; font-weight: 400; }
.list .facts dd { font-size: clamp(18px, 4.7cqi, 25px); font-weight: 650; line-height: 1.25; letter-spacing: -.025em; text-align: center; white-space: nowrap; }
.list .listing-actions { grid-template-columns: 2fr 1fr 1fr; }
.list .listing-actions .view-details { grid-column: auto; }
@media(max-width: 1100px) {
 .list .card { grid-template-columns: minmax(0, 40%) minmax(0, 1fr); }
 .list .card-content { padding: 20px; }
}
@media(max-width: 900px) {
 .list .card { grid-template-columns: minmax(0, 1fr); }
 .list .pic { aspect-ratio: 3 / 2; min-height: 0; }
 .list .pic img { position: static; }
 .list .listing-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .list .listing-actions .view-details { grid-column: 1 / -1; }
}
@media(max-width: 700px) {
 .cards.list { padding: 12px; gap: 20px; border-radius: 20px; margin-inline: -8px; }
 .list .card { border-radius: 20px; }
 .list .card-content { padding: 18px 14px; }
 .list .facts dt { font-size: 13px; }
}

/* Desktop tiles show three boats, with roomier layouts on smaller screens. */
.cards.tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tiles .card-content { padding: 18px 16px; }
.tiles .card-heading { gap: 10px; }
@media (max-width: 1199px) {
  .cards.tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .cards.tiles { grid-template-columns: minmax(0, 1fr); }
}

/* Keep supporting specifications quieter and closer to the pricing. */
.cards .card-heading { margin-bottom: 16px; }
.cards .facts { margin-top: 0; }
.cards .facts div { gap: 4px; }
.cards .facts dt { font-size: 12px; font-weight: 400; color: #737b87; }
.cards .facts dd {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #626b78;
}
.cards .facts div + div { border-left-color: #e8ebee; }
.cards .listing-actions { margin-top: auto; padding-top: 20px; }

/* View Details followed by an equal-width Call/Text pair. */
.cards .listing-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards .listing-actions .view-details { grid-column: 1 / -1; }
/* Keep the complete listing photo when the action panel is taller. */
.list .pic { align-self: center; }

/* Match the VDP Request More Info button. */
.cards .listing-actions .view-details {
  background: #142e4a;
  border-color: #142e4a;
  color: #fff;
}
.cards .listing-actions .view-details:hover {
  background: #10263e;
  border-color: #10263e;
}

/* Four equal SRP specifications, with seating last in both views. */
.cards .facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards .facts > div:nth-child(n) { padding-inline: 3px; border-top: 0; }
.cards .facts > div:nth-child(n + 2) { border-left: 1px solid #e8ebee; }

/* Clarify that the badge describes boat condition, not listing age. */
.condition-line { display: flex; align-items: center; gap: 8px; }
.condition-label { font-size: 12px; font-weight: 400; color: #737b87; }
.condition-line .condition-badge { align-self: auto; }

/* Uniform cards across every results row; text never controls card height. */
.cards { grid-auto-rows: 1fr; }
.cards .condition-line { height: 32px; flex: 0 0 32px; }
.cards .card-heading { flex-shrink: 0; }
.cards .card-title { min-width: 0; overflow: hidden; }
.cards .card-title a {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cards .card-msrp { margin: 0; white-space: nowrap; min-width: 0; }
.cards .facts { flex: 0 0 42px; height: 42px; }
.cards .listing-actions { flex-shrink: 0; grid-template-rows: repeat(2, 42px); }
.tiles .card-heading {
  height: 56px;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 28px 22px;
  gap: 6px 10px;
  margin-top: 14px;
  margin-bottom: 16px;
}
.tiles .card-heading h3, .tiles .card-heading .price {
  font-size: clamp(17px, 4.7cqi, 22px);
  line-height: 1.25;
}
/* Independent heading grid: name / price, then MSRP / payment. */
.tiles .card-title { grid-column: 1; grid-row: 1; }
.tiles .card-msrp { grid-column: 1; grid-row: 2; padding-top: 0; }
.tiles .card-pricing { display: contents; }
.tiles .card-heading .price { grid-column: 2; grid-row: 1; text-align: right; }
.tiles .card-payment { grid-column: 2; grid-row: 2; margin-top: 0; text-align: right; }
.tiles .facts { margin-inline: -8px; width: calc(100% + 16px); }
.list .card-heading {
  height: 60px;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 32px 24px;
  gap: 4px 12px;
}
.list .card-title { grid-column: 1; grid-row: 1; }
.list .card-msrp { grid-column: 1; grid-row: 2; }
.list .card-pricing { grid-column: 2; grid-row: 1 / 3; }
@media (max-width: 900px) {
  .list .card-heading {
    height: 92px;
    grid-template-rows: 28px 56px;
    gap: 8px 10px;
  }
  .list .card-heading h3, .list .card-heading .price { font-size: clamp(17px, 4.7cqi, 22px); line-height: 1.25; }
  .list .card-title { grid-column: 1 / -1; grid-row: 1; }
  .list .card-msrp { grid-column: 1; grid-row: 2; padding-top: 3px; }
  .list .card-pricing { grid-column: 2; grid-row: 2; }
}

/* Reserve gallery geometry before downloads so scrolling never follows image reflow. */
.frame>a{aspect-ratio:3/2;background:#101316}
.frame #hero{width:100%;height:100%;object-fit:contain;touch-action:pan-y pinch-zoom}
.full img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#101316}

/* The inventory owns one stable document scroll, with no anchoring to late photos. */
body.inventory-page{overflow-anchor:none}
.inventory-page #app{min-height:80vh}
.inventory-page .pic{overflow:hidden;contain:layout paint}
.inventory-page .pic img{display:block;width:100%;height:100%;object-fit:cover}

/* Compact, equal-width filter actions below the price inputs. */
#criteria .filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}
#criteria .filter-actions>button,#criteria .filter-actions>a{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:38px;margin:0;padding:8px 4px;border:1px solid #b9c3ce;border-radius:4px;background:#fff;color:#142d49;font:500 12px/1.3 Inter,Arial,sans-serif;text-align:center;text-decoration:none;white-space:nowrap}
#criteria .filter-actions>button{background:#142d49;border-color:#142d49;color:#fff}
#criteria .filter-actions>a:hover{background:#f3f5f7}
#criteria .filter-actions>:focus-visible{outline:2px solid #00a9d8;outline-offset:2px}

.photo-status{position:absolute;bottom:10px;left:10px;max-width:65%;font-size:12px;color:#fff;background:#102c49cc;padding:3px 7px;border-radius:4px;pointer-events:none}.photo-status[hidden]{display:none}
