:root{--blue:#A9823A;--ink:#2B2F33;--muted:#6F7B65;--line:#D6CDBD;--control:rgba(69,91,70,.72);--control-hover:rgba(69,91,70,.88);--brand:#25342C;--heading:#58704B;--nav:#4B6443;--accent:#A9823A;--accent-hover:#C09A52;--paper:#F6F1E6;--table-head:#ECE5D5;--note-bg:#F6F1E6;--label:#6F7B65}
*{box-sizing:border-box}html{overflow-y:scroll;scrollbar-gutter:stable}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:#fff;color:var(--ink)}
.header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.header-inner{max-width:1220px;margin:0 auto;padding:18px 22px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.brand{text-decoration:none;color:var(--ink)}.brand strong{display:block;font-size:32px;line-height:1.05;letter-spacing:-.035em}.brand span{display:block;margin-top:3px;font-size:13px;color:var(--muted)}
nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}nav a{color:var(--ink);text-decoration:none;padding:3px 0}nav a.active{color:var(--blue);font-weight:800}.site-main{max-width:1220px;margin:0 auto;padding:28px 22px 44px}.section{display:none}.section.active{display:block}.page-header{margin:10px 0 22px}.page-header h2{margin:0 0 6px;font-size:26px;line-height:1.15}.tiny{font-size:12px;color:var(--muted)}.page-header .tiny{font-size:13px;color:var(--muted)}
.text-page{max-width:860px}.text-page p{margin:0 0 16px;line-height:1.55}.text-page h3{margin:24px 0 8px;font-size:18px}.text-page h3:first-child{margin-top:0}.inline-action{color:var(--blue);font-weight:700;text-decoration:none}
.controls{display:flex;gap:10px;align-items:center;margin:0 0 20px;flex-wrap:wrap}.controls input,.controls select{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:#fff;font:inherit;color:var(--ink)}.controls input{min-width:290px;flex:1}#listSearch,#listFilter,#listSort{font-size:12px}
.covers-note{margin:-8px 0 4px auto;max-width:980px;text-align:right;font-size:12px;line-height:1.45;color:var(--muted)}.map-legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;margin:0 0 16px auto;max-width:980px;text-align:right;font-size:12px;color:var(--muted)}.map-legend strong{color:var(--blue);margin-right:4px}
.cover-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 16px;align-items:end}.thumb-tile{text-align:center}.thumb-open{display:block;border:0;padding:0;background:transparent;cursor:pointer;margin:0 auto}.thumb-img{height:260px;width:auto;max-width:100%;object-fit:contain;display:block;margin:0 auto;background:#fff}.thumb-meta{margin-top:7px;line-height:1.25}.thumb-date{font-size:10px;color:#344054;white-space:nowrap}.thumb-links{margin-top:2px;font-size:10px;color:var(--blue)}.thumb-links a,.thumb-links button{color:var(--blue);text-decoration:none;border:0;background:transparent;padding:0;font:inherit;cursor:pointer}
.section-head{margin:10px 0 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.section-head .page-header{margin:0}.export-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.small-action{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}
.list-panel{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.list-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:8px 12px;vertical-align:top;text-align:left}th{font-size:11px;color:var(--muted);background:#f7f9fc;white-space:nowrap}td{font-size:13px}td a{color:var(--blue);font-weight:700;text-decoration:none}.wide-list-table{min-width:1660px}.wide-list-table th,.wide-list-table td{white-space:nowrap}.wide-list-table th:first-child,.wide-list-table td:first-child{white-space:normal;min-width:260px}.wide-list-table th:nth-child(12),.wide-list-table td:nth-child(12),.wide-list-table th:nth-child(13),.wide-list-table td:nth-child(13),.wide-list-table th:nth-child(14),.wide-list-table td:nth-child(14){text-align:right;min-width:130px}
.listing-notes{margin-top:14px;max-width:980px;font-size:12px;color:var(--muted);line-height:1.45}.listing-notes h3{margin:0 0 6px;font-size:13px;color:var(--ink)}.listing-notes ol{margin:0;padding-left:20px}.listing-notes li{margin:0 0 3px}
.profile-layout{display:grid;grid-template-columns:minmax(190px,260px) 1fr;gap:24px;align-items:start}.profile-side{display:flex;flex-direction:column;align-items:center}.profile-side .thumb-img{height:260px;width:auto;max-width:100%}.profile-main{display:grid;gap:18px}.profile-top{padding:10px 0 12px;background:transparent;border:0}.profile-ref-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 16px}.profile-ref-item small{display:block;color:var(--muted);font-size:10px;line-height:1.15;margin:0 0 3px;font-style:italic}.profile-ref-item span{display:block;font-size:13px;line-height:1.25}.profile-ref-wide{grid-column:span 3}.profile-side-flags{margin-top:16px;padding-top:2px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:13px}.profile-side-flags b{color:var(--blue);margin-right:5px}
.panel{border:1px solid var(--line);border-radius:16px;background:#fff}.notes-card{padding:18px 20px}.notes-card h3{margin:0 0 12px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notes-col{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;min-height:280px}.notes-col h3{margin:0 0 10px;color:var(--blue)}.notes-col p{font-size:14px;margin:0 0 12px;line-height:1.5}.notes-col blockquote{margin:0 0 12px;padding-left:12px;border-left:3px solid var(--line);color:var(--muted)}
.contact-form{max-width:640px;display:grid;gap:14px}.contact-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
footer{padding:10px 22px;border-top:1px solid var(--line);background:#fff}.footer-inner{max-width:1220px;margin:0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1.35;color:var(--muted)}
.viewer-shell{position:fixed;inset:0;display:none;z-index:50;background:rgba(255,255,255,.18);backdrop-filter:blur(1px)}.viewer-shell.open{display:block}.viewer-stage{position:absolute;inset:0;overflow:hidden}.viewer-object{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.viewer-drift{position:relative;transition:transform .26s ease;transform-origin:center center}.viewer-body{position:relative;display:grid;place-items:center;overflow:hidden;filter:drop-shadow(0 10px 24px rgba(0,0,0,.10));transition:width .25s ease,height .25s ease}.viewer-img{position:relative;z-index:1;display:block;background:#fff;max-width:none;max-height:none;user-select:none}.viewer-ui{position:absolute;inset:0;z-index:2;pointer-events:none}.cluster{position:absolute;display:flex;gap:10px;pointer-events:auto}.cluster.top-right{top:10px;right:10px;flex-direction:column}.ghost-btn{width:38px;height:38px;border:0;border-radius:999px;cursor:pointer;background:var(--control);color:#fff;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:24px}.ghost-btn:hover{background:var(--control-hover)}.ghost-btn svg{width:19px;height:19px;display:block}.hint{position:absolute;right:calc(100% + 8px);top:50%;background:rgba(9,16,29,.82);color:#fff;font-size:12px;padding:4px 8px;border-radius:999px;white-space:nowrap;opacity:0;transform:translate(4px,-50%);transition:.15s ease;pointer-events:none}.tip{position:relative}.tip:hover .hint{opacity:1;transform:translate(0,-50%)}.resize-tip{position:absolute;right:10px;bottom:10px;pointer-events:none}.resize-tip .resize-handle{position:static;pointer-events:auto}.resize-handle{width:32px;height:32px;cursor:nwse-resize;border-radius:10px;background:rgba(9,16,29,.48);box-shadow:0 4px 14px rgba(0,0,0,.18);position:relative}.resize-handle:before{content:"";position:absolute;right:6px;bottom:6px;width:15px;height:15px;border-right:2px solid #fff;border-bottom:2px solid #fff}.resize-handle:after{content:"";position:absolute;right:11px;bottom:11px;width:9px;height:9px;border-right:2px solid rgba(255,255,255,.9);border-bottom:2px solid rgba(255,255,255,.9)}
.load-error{border:1px solid #e7b4b4;background:#fff5f5;color:#8a2020;padding:14px 16px;border-radius:12px}
@media(max-width:1100px){.cover-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.thumb-img{height:230px}}@media(max-width:900px){.header-inner{flex-direction:column;align-items:flex-start}.profile-layout,.notes-grid{grid-template-columns:1fr}.profile-ref-grid{grid-template-columns:1fr 1fr}.profile-ref-wide{grid-column:1/-1}}@media(max-width:760px){.cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thumb-img{height:210px}.brand strong{font-size:28px}.page-header h2{font-size:24px}.footer-inner{white-space:normal;overflow:visible}}

/* V12 feedback round refinements */
.page-header .tiny {
  font-style: italic;
}

/* Map Gallery header alignment */
.covers-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 18px;
}
.covers-header .tiny {
  margin-bottom: 0;
}
.covers-header-notes {
  text-align: right;
  margin-left: auto;
  max-width: 620px;
}
.covers-header .covers-note {
  margin: 0 0 4px auto;
  max-width: none;
  text-align: right;
}
.covers-header .map-legend {
  margin: 0 0 0 auto;
  justify-content: flex-end;
  max-width: none;
}

#coverSearch,
#coverFilter,
#coverSort,
#listSearch,
#listFilter,
#listSort {
  font-size: 12px;
  line-height: 1.25;
}

/* Recently opened/active map thumbnails */
.thumb-tile {
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 4px;
}
.thumb-tile.recent-active {
  border-color: var(--blue);
}
.thumb-tile.recent-active-secondary {
  border-color: rgba(29,79,145,.45);
}

/* Map Listing: compact scrollable grid */
.list-panel {
  max-height: 760px; /* about 25 compact single-line rows plus the sticky header */
}
.list-scroll {
  overflow: auto;
}
.wide-list-table {
  min-width: 1780px;
  table-layout: auto;
}
.wide-list-table th,
.wide-list-table td {
  white-space: nowrap !important;
}
.wide-list-table th {
  position: sticky;
  top: 0;
  z-index: 4;
  resize: horizontal;
  overflow: auto;
}
.wide-list-table td:first-child,
.wide-list-table th:first-child {
  min-width: 150px;
}
.wide-list-table td:nth-child(2),
.wide-list-table th:nth-child(2) {
  min-width: 260px;
  white-space: nowrap !important;
}
.wide-list-table td,
.wide-list-table th {
  line-height: 1.2;
  padding-top: 7px;
  padding-bottom: 7px;
}

/* Map Listing notes in two columns */
.listing-notes {
  max-width: none;
}
.listing-notes ol {
  columns: 2;
  column-gap: 40px;
}
.listing-notes li {
  break-inside: avoid;
  margin-bottom: 5px;
}

/* Map Profile refinements */
.profile-section-head {
  align-items: flex-start;
}
.profile-nav-buttons {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 2px;
}
.profile-layout {
  grid-template-columns: minmax(330px, 390px) 1fr;
  gap: 20px;
}
.profile-side {
  align-items: flex-start;
  padding-left: 10px;
}
.profile-side .thumb-img {
  height: 390px;
}
.profile-side-flags {
  margin-left: 2px;
}
.profile-main {
  gap: 16px;
}
.profile-ref-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  row-gap: 16px;
}
.profile-ref-item span {
  display: block;
  font-size: 13px;
  line-height: 1.25;
  min-height: 18px;
}
.profile-ref-item small {
  display: block;
  margin: 3px 0 0;
}
.notes-card {
  padding: 0;
  border: 0;
  background: transparent;
}
.notes-card > h3 {
  margin: 0 0 12px;
}
.notes-grid {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.notes-col {
  min-height: 560px;
}

/* Multi-lightbox: keep relative comparison prominent */
.multi-viewer-body {
  background: transparent;
}


/* V13 refinements */

/* Map Gallery scroll panel */
.gallery-panel {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  margin-bottom: 14px;
}
.gallery-scroll {
  max-height: 705px; /* shows roughly two full rows plus part of a third row */
  overflow: auto;
  padding: 16px;
}
.gallery-scroll .cover-grid {
  padding-bottom: 8px;
  min-width: 100%;
}

/* Map Gallery no longer has right-side header notes */
.covers-header {
  align-items: flex-start;
  margin-bottom: 18px;
}

/* Search/filter consistency */
#coverSearch,
#coverFilter,
#coverSort,
#listSearch,
#listFilter,
#listSort {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* Listing table: narrower default title column and better resizing */
.list-panel {
  max-height: 760px;
}
.wide-list-table {
  min-width: 1680px;
  table-layout: fixed;
}
.wide-list-table th,
.wide-list-table td {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wide-list-table th {
  position: sticky;
  top: 0;
  z-index: 4;
  resize: none !important;
  overflow: hidden;
}
.wide-list-table th:nth-child(1),
.wide-list-table td:nth-child(1) {
  width: 120px;
  min-width: 120px;
}
.wide-list-table th:nth-child(2),
.wide-list-table td:nth-child(2) {
  width: 260px;
  min-width: 260px;
  max-width: 260px;
}
.wide-list-table th:nth-child(3),
.wide-list-table td:nth-child(3),
.wide-list-table th:nth-child(4),
.wide-list-table td:nth-child(4) {
  width: 150px;
  min-width: 150px;
}
.wide-list-table th:nth-child(5),
.wide-list-table td:nth-child(5) {
  width: 170px;
  min-width: 170px;
}
.col-resizer {
  position: absolute;
  top: 0;
  right: 0;
  width: 7px;
  height: 100%;
  cursor: col-resize;
  user-select: none;
}
.col-resizer::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 20%;
  height: 60%;
  border-right: 1px solid rgba(104,115,134,.45);
}

/* Notes sections: explicit two-column layout */
.listing-notes .notes-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}
.listing-notes .notes-columns ol {
  columns: auto;
  margin: 0;
  padding-left: 20px;
}
.gallery-notes {
  margin-top: 10px;
}

/* Keep old automatic columns from interfering */
.listing-notes > ol {
  columns: auto;
}


/* V15 Map Profile detail refinements */
.profile-layout {
  grid-template-columns: minmax(300px, 350px) minmax(0, 1fr);
  gap: 10px;
}
.profile-side {
  padding-left: 0;
}
.profile-main {
  margin-left: -12px;
}
.profile-top {
  padding-top: 4px;
}
.profile-ref-grid-v15 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.profile-ref-row {
  display: grid;
  gap: 12px 16px;
  align-items: start;
}
.profile-ref-row-title {
  grid-template-columns: 1fr;
}
.profile-ref-row-dates {
  grid-template-columns: minmax(160px, 1.35fr) minmax(135px, 1fr) minmax(85px, .7fr) minmax(115px, .85fr) minmax(130px, .9fr);
}
.profile-ref-row-publishing {
  grid-template-columns: minmax(130px, 1fr) minmax(170px, 1.25fr) minmax(170px, 1.25fr) minmax(150px, 1fr);
}
.profile-ref-item {
  min-width: 0;
}
.profile-ref-item span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 18px;
  color: var(--ink);
}
.profile-ref-item small {
  color: #7f8a9d;
  font-style: italic;
  font-size: 10px;
  letter-spacing: .01em;
}
.profile-ref-full span {
  max-width: 100%;
}
.notes-grid {
  gap: 14px;
}
.notes-col {
  min-height: 560px;
}

@media(max-width: 1000px) {
  .profile-layout {
    grid-template-columns: 1fr;
  }
  .profile-main {
    margin-left: 0;
  }
  .profile-ref-row-dates,
  .profile-ref-row-publishing {
    grid-template-columns: 1fr 1fr;
  }
}


/* V16 refinements */
.profile-layout {
  grid-template-columns: minmax(430px, 480px) minmax(0, 1fr);
  gap: 12px;
}
.profile-side {
  padding-left: 0;
}
.profile-side .thumb-img {
  height: 585px !important;
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
}
.profile-side .thumb-tile {
  width: fit-content;
  max-width: 100%;
}
.profile-side-flags {
  margin-top: 14px;
}
.wide-list-table th:nth-child(1),
.wide-list-table td:nth-child(1) {
  width: 165px;
  min-width: 165px;
}
.wide-list-table th:nth-child(2),
.wide-list-table td:nth-child(2) {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.wide-list-table th:nth-child(3),
.wide-list-table td:nth-child(3),
.wide-list-table th:nth-child(4),
.wide-list-table td:nth-child(4) {
  width: 150px;
  min-width: 150px;
}
.wide-list-table th:nth-child(5),
.wide-list-table td:nth-child(5) {
  width: 125px;
  min-width: 125px;
}
.notes-legend-layout {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 34px;
  align-items: start;
}
.legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}
.gallery-notes ol {
  margin-top: 0;
}
@media(max-width: 1100px) {
  .profile-layout {
    grid-template-columns: 1fr;
  }
  .profile-side .thumb-img {
    height: 460px !important;
  }
  .notes-legend-layout {
    grid-template-columns: 1fr;
  }
}


/* V17 About & Contact form refinements */
.contact-intro {
  max-width: 760px;
  margin: 0 0 18px;
  line-height: 1.55;
  color: var(--ink);
}
.contact-form {
  max-width: 760px;
}
.contact-form .field-name,
.contact-form .field-email {
  display: inline-block;
  width: calc(50% - 7px);
  vertical-align: top;
}
.contact-form .field-name {
  margin-right: 10px;
}
.contact-form textarea {
  min-height: 150px;
}
@media(max-width: 720px) {
  .contact-form .field-name,
  .contact-form .field-email {
    display: block;
    width: 100%;
    margin-right: 0;
  }
}


/* V18 correction patch */

/* Map Gallery: Legend and Notes stacked, each in a single row */
.gallery-notes {
  display: block;
}
.gallery-legend-block,
.gallery-notes-block {
  margin-bottom: 12px;
}
.gallery-legend-block h3,
.gallery-notes-block h3 {
  margin: 0 0 6px;
}
.legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}
.gallery-notes-block p {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}

/* About & Contact: force name/email onto same row and tighten spacing */
.contact-form {
  max-width: 760px;
}
.contact-form .field-name,
.contact-form .field-email {
  display: inline-block !important;
  width: calc(50% - 8px) !important;
  vertical-align: top;
}
.contact-form .field-name {
  margin-right: 12px !important;
}
.contact-form label {
  margin-bottom: 12px;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
}
.contact-form textarea {
  min-height: 145px;
}
.contact-intro {
  max-width: 760px;
  margin-bottom: 18px;
}

@media(max-width: 720px) {
  .contact-form .field-name,
  .contact-form .field-email {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* Map Listing: corrected first columns after Sort Ref change */
.wide-list-table th:nth-child(1),
.wide-list-table td:nth-child(1) {
  width: 125px;
  min-width: 125px;
}
.wide-list-table th:nth-child(2),
.wide-list-table td:nth-child(2) {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.wide-list-table th:nth-child(3),
.wide-list-table td:nth-child(3),
.wide-list-table th:nth-child(4),
.wide-list-table td:nth-child(4) {
  width: 150px;
  min-width: 150px;
}
.wide-list-table th:nth-child(5),
.wide-list-table td:nth-child(5) {
  width: 165px;
  min-width: 165px;
}


/* V19 Map Listing final order/link correction */
.wide-list-table th:nth-child(1),
.wide-list-table td:nth-child(1) {
  width: 165px;
  min-width: 165px;
}
.wide-list-table th:nth-child(2),
.wide-list-table td:nth-child(2) {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.wide-list-table th:nth-child(3),
.wide-list-table td:nth-child(3),
.wide-list-table th:nth-child(4),
.wide-list-table td:nth-child(4) {
  width: 150px;
  min-width: 150px;
}
.wide-list-table th:nth-child(5),
.wide-list-table td:nth-child(5) {
  width: 125px;
  min-width: 125px;
}


/* V20 text page refinements */
.text-page ul,
.text-page ol {
  margin: 0 0 18px 22px;
  padding: 0;
  line-height: 1.55;
}
.text-page li {
  margin: 0 0 8px;
}
.soft-divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 28px 0 16px;
}
.disclaimer {
  font-size: 13px;
  color: var(--muted);
}


/* V22 Library Green + Aged Gold palette */
body {
  background: var(--paper);
  color: var(--ink);
}
.header,
.palette-header,
.section,
.gallery-panel,
.list-panel,
.table-wrap,
.thumb-tile,
.profile-top,
.notes-col,
.notes-card,
.contact-form input,
.contact-form textarea {
  background-color: #fff;
}
.header {
  border-bottom-color: var(--line);
}
.brand strong {
  color: var(--brand);
}
.brand span,
.tiny,
.page-header .tiny,
.byline {
  color: var(--muted);
}
nav a {
  color: var(--nav);
}
nav a.active,
nav a:hover,
a,
.inline-action,
.thumb-links button,
.thumb-links a,
.wide-list-table td a {
  color: var(--accent);
}
.page-header h2,
.text-page h3,
.notes-card h3,
.notes-col h3,
.gallery-notes h3,
.listing-notes h3 {
  color: var(--heading);
}
.small-action,
.btn {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.small-action:hover,
.btn:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}
.wide-list-table th {
  background: var(--table-head);
  color: var(--heading);
  border-bottom-color: var(--line);
}
.wide-list-table td,
.wide-list-table th,
.table-wrap,
.list-panel,
.gallery-panel,
.notes,
.notes-col,
.profile-top,
.contact-form input,
.contact-form textarea {
  border-color: var(--line);
}
.profile-ref-item small,
.disclaimer,
.legend-row,
.gallery-notes-block p {
  color: var(--label);
}
.thumb-tile.recent-active,
.thumb-tile.recent-active-primary {
  border-color: var(--accent);
}
.thumb-tile.recent-active-secondary {
  border-color: rgba(169,130,58,.45);
}
.ghost-btn {
  background: rgba(37,52,44,.72);
}
.ghost-btn:hover {
  background: rgba(37,52,44,.88);
}
.resize-handle {
  border-color: rgba(37,52,44,.72);
}


/* V23 full paper background + lighter olive headings */
body,
.header,
.section,
.gallery-panel,
.list-panel,
.table-wrap,
.thumb-tile,
.profile-top,
.notes-col,
.notes-card,
.contact-form input,
.contact-form textarea,
.wide-list-table td,
.profile-ref-item,
.listing-notes,
.gallery-notes {
  background-color: var(--paper) !important;
}

.header {
  border-bottom-color: var(--line);
}

.brand strong {
  color: var(--brand) !important;
}

.page-header h2,
.text-page h3,
.notes-card h3,
.notes-col h3,
.gallery-notes h3,
.listing-notes h3 {
  color: var(--heading) !important;
}

nav a {
  color: var(--nav) !important;
}

nav a.active,
nav a:hover,
a,
.inline-action,
.thumb-links button,
.thumb-links a,
.wide-list-table td a {
  color: var(--accent) !important;
}

.wide-list-table th {
  background: var(--table-head) !important;
  color: var(--heading) !important;
}

.thumb-tile .thumb-img,
.profile-side .thumb-img,
.multi-viewer-img {
  background: #fff;
}

.contact-form input,
.contact-form textarea {
  background: #fff !important;
}

.gallery-panel,
.list-panel,
.table-wrap,
.thumb-tile,
.profile-top,
.notes-col,
.contact-form input,
.contact-form textarea {
  border-color: var(--line) !important;
}


/* V24 brand header and favicon integration */
.header-inner {
  align-items: center;
  gap: 24px;
}

.brand-v24 {
  display: grid;
  grid-template-columns: 112px minmax(360px, 1fr);
  align-items: center;
  gap: 20px;
  text-decoration: none;
  min-width: 0;
  flex: 1 1 auto;
}

.brand-mark-wrap {
  display: block;
  width: 112px;
  height: 112px;
  flex: 0 0 auto;
}

.brand-mark {
  display: block;
  width: 112px;
  height: 112px;
  object-fit: contain;
}

.brand-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.brand-title {
  display: block;
  font-family: inherit;
  font-size: clamp(34px, 4.6vw, 72px);
  line-height: .95;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.035em;
  white-space: nowrap;
}

.brand-title em {
  font-style: italic;
  font-weight: inherit;
}

.brand-subtitle {
  display: block;
  font-family: inherit;
  font-size: clamp(15px, 1.55vw, 24px);
  line-height: 1.15;
  color: var(--heading);
  white-space: nowrap;
}

.brand-line {
  position: relative;
  display: block;
  height: 14px;
  max-width: min(920px, 100%);
}

.brand-line::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 6px;
  height: 4px;
  border-radius: 999px;
  background: #a84f32;
}

.brand-station {
  position: absolute;
  top: 50%;
  width: 21px;
  height: 21px;
  border: 4px solid #2b2f33;
  background: #f6f1e6;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.brand-station.station-a { left: 9%; }
.brand-station.station-b { left: 31%; }
.brand-station.station-c { left: 53%; }
.brand-station.station-d { left: 74%; }
.brand-station.station-e { left: 92%; }

@media (max-width: 1120px) {
  .header-inner {
    align-items: flex-start;
  }
  .brand-v24 {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 15px;
  }
  .brand-mark-wrap,
  .brand-mark {
    width: 92px;
    height: 92px;
  }
  .brand-title,
  .brand-subtitle {
    white-space: normal;
  }
}

@media (max-width: 760px) {
  .brand-v24 {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 12px;
  }
  .brand-mark-wrap,
  .brand-mark {
    width: 68px;
    height: 68px;
  }
  .brand-line {
    height: 10px;
  }
  .brand-line::before {
    top: 4px;
    height: 3px;
  }
  .brand-station {
    width: 15px;
    height: 15px;
    border-width: 3px;
  }
}


/* V25 corrected brand header: use approved header graphic directly */
.header-inner {
  align-items: center;
  gap: 22px;
}

.brand-v25 {
  display: block !important;
  flex: 1 1 auto;
  min-width: 420px;
  max-width: 1160px;
  text-decoration: none;
}

.brand-header-img {
  display: block;
  width: 100%;
  max-width: 1160px;
  height: auto;
  object-fit: contain;
}

/* Neutralise earlier V24 live-header construction if cached CSS order conflicts */
.brand-v25 .brand-mark-wrap,
.brand-v25 .brand-copy,
.brand-v25 .brand-title,
.brand-v25 .brand-line,
.brand-v25 .brand-subtitle {
  display: none !important;
}

@media (max-width: 1100px) {
  .brand-v25 {
    min-width: 0;
    max-width: 100%;
  }
  .header-inner {
    align-items: flex-start;
  }
}

@media (max-width: 760px) {
  .brand-v25 {
    width: 100%;
  }
}


/* V26 rebuilt brand header: scalable SVG + live text */
.header-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
}

.header-inner nav {
  flex: 0 0 auto;
  white-space: nowrap;
}

.brand-v26 {
  display: grid !important;
  grid-template-columns: 150px minmax(360px, 1fr);
  align-items: center;
  gap: 0;
  flex: 0 1 760px;
  max-width: 760px;
  min-width: 560px;
  text-decoration: none;
  overflow: visible;
}

.brand-network-box {
  display: block;
  width: 150px;
  height: 112px;
  position: relative;
  z-index: 2;
}

.brand-network-svg {
  display: block;
  width: 150px;
  height: 112px;
  overflow: visible;
}

.net-border {
  fill: #f6f1e6;
  stroke: #888474;
  stroke-width: 4;
}

.net-line {
  fill: none;
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.net-blue { stroke: #315c79; }
.net-olive { stroke: #657447; }
.net-gold { stroke: #bf8f23; }
.net-purple { stroke: #826f93; }
.net-rust { stroke: #a84f32; }

.net-node {
  fill: #f6f1e6;
  stroke: #25292c;
  stroke-width: 5;
}

.brand-copy-v26 {
  display: grid;
  grid-template-rows: auto 13px auto;
  gap: 5px;
  min-width: 0;
  position: relative;
}

.brand-title-v26 {
  font-family: inherit;
  font-size: clamp(30px, 3.25vw, 50px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -0.035em;
  color: var(--ink);
  white-space: nowrap;
}

.brand-title-v26 em {
  font-style: italic;
  font-weight: inherit;
}

.brand-route-v26 {
  display: block;
  position: relative;
  height: 13px;
  margin-left: -1px; /* meets the rust route exiting the box */
  width: 100%;
}

.brand-route-v26::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 3px;
  height: 7px; /* exact match to SVG rust line */
  border-radius: 999px;
  background: #a84f32;
}

.brand-station-v26 {
  position: absolute;
  top: 50%;
  width: 19px;
  height: 19px;
  border: 5px solid #25292c;
  background: #f6f1e6;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  z-index: 2;
}

/* deliberately uneven spacing */
.brand-station-v26.station-1 { left: 8%; }
.brand-station-v26.station-2 { left: 29%; }
.brand-station-v26.station-3 { left: 47%; }
.brand-station-v26.station-4 { left: 71%; }
.brand-station-v26.station-5 { left: 91%; }

.brand-subtitle-v26 {
  font-family: inherit;
  font-size: clamp(13px, 1.25vw, 19px);
  line-height: 1.15;
  color: var(--ink);
  white-space: nowrap;
}

/* neutralise previous image-based V25 header if CSS order conflicts */
.brand-v26 .brand-header-img,
.brand-v26 .brand-mark,
.brand-v26 .brand-line,
.brand-v26 .brand-station {
  display: none !important;
}

@media (max-width: 1150px) {
  .header-inner {
    flex-wrap: wrap;
  }
  .brand-v26 {
    flex-basis: 100%;
    max-width: 900px;
    min-width: 0;
  }
  .header-inner nav {
    white-space: normal;
  }
}

@media (max-width: 760px) {
  .brand-v26 {
    grid-template-columns: 92px minmax(0, 1fr);
    max-width: 100%;
  }
  .brand-network-box,
  .brand-network-svg {
    width: 92px;
    height: 69px;
  }
  .brand-title-v26,
  .brand-subtitle-v26 {
    white-space: normal;
  }
  .brand-route-v26 {
    width: 96%;
  }
  .brand-station-v26 {
    width: 14px;
    height: 14px;
    border-width: 3px;
  }
}


/* V27 header sizing fix: prevent older wordmark CSS from shrinking the title */
.header {
  overflow: visible !important;
}

.header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.header-inner nav {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.brand-v26 {
  display: grid !important;
  grid-template-columns: 122px minmax(390px, 1fr) !important;
  align-items: center !important;
  gap: 0 !important;
  flex: 0 1 560px !important;
  max-width: 560px !important;
  min-width: 520px !important;
  width: 560px !important;
  text-decoration: none !important;
  overflow: visible !important;
}

.brand-network-box {
  display: block !important;
  width: 122px !important;
  height: 89px !important;
  position: relative !important;
  z-index: 2 !important;
  line-height: 0 !important;
}

.brand-network-svg {
  display: block !important;
  width: 122px !important;
  height: 89px !important;
  overflow: visible !important;
}

.brand-copy-v26 {
  display: grid !important;
  grid-template-rows: auto 12px auto !important;
  gap: 4px !important;
  min-width: 0 !important;
  position: relative !important;
  line-height: normal !important;
}

.brand-title-v26 {
  display: block !important;
  font-family: inherit !important;
  font-size: 32px !important;
  line-height: .96 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: var(--ink) !important;
  white-space: nowrap !important;
  text-transform: none !important;
}

.brand-title-v26 em {
  font-style: italic !important;
  font-weight: inherit !important;
}

.brand-subtitle-v26 {
  display: block !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  color: var(--ink) !important;
  white-space: nowrap !important;
  text-transform: none !important;
}

.brand-route-v26 {
  display: block !important;
  position: relative !important;
  height: 12px !important;
  margin-left: -1px !important;
  width: 100% !important;
}

.brand-route-v26::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 3px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #a84f32 !important;
}

.brand-station-v26 {
  position: absolute !important;
  top: 50% !important;
  width: 17px !important;
  height: 17px !important;
  border: 4px solid #25292c !important;
  background: #f6f1e6 !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
}

/* deliberately uneven spacing */
.brand-station-v26.station-1 { left: 7% !important; }
.brand-station-v26.station-2 { left: 27% !important; }
.brand-station-v26.station-3 { left: 45% !important; }
.brand-station-v26.station-4 { left: 70% !important; }
.brand-station-v26.station-5 { left: 91% !important; }

/* tighten the SVG line/node sizes in the smaller header mark */
.brand-v26 .net-border {
  fill: #f6f1e6 !important;
  stroke: #888474 !important;
  stroke-width: 4 !important;
}

.brand-v26 .net-line {
  fill: none !important;
  stroke-width: 7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.brand-v26 .net-node {
  fill: #f6f1e6 !important;
  stroke: #25292c !important;
  stroke-width: 5 !important;
}

.brand-v26 .net-rust {
  stroke: #a84f32 !important;
}

@media (max-width: 1220px) {
  .header-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .brand-v26 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
  }
  .header-inner nav {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 760px) {
  .brand-v26 {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .brand-network-box,
  .brand-network-svg {
    width: 82px !important;
    height: 60px !important;
  }
  .brand-title-v26 {
    font-size: 25px !important;
  }
  .brand-subtitle-v26 {
    font-size: 12px !important;
    white-space: normal !important;
  }
  .header-inner nav {
    flex-wrap: wrap !important;
  }
}


/* V28 header refinement: more breathing room and less cramped title/byline */
.header {
  min-height: 132px !important;
}

.header-inner {
  min-height: 112px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  align-items: center !important;
}

.brand-v26 {
  grid-template-columns: 132px minmax(410px, 1fr) !important;
  gap: 14px !important;
  flex: 0 1 650px !important;
  width: 650px !important;
  max-width: 650px !important;
  min-width: 610px !important;
}

.brand-network-box {
  width: 132px !important;
  height: 97px !important;
}

.brand-network-svg {
  width: 132px !important;
  height: 97px !important;
}

.brand-copy-v26 {
  grid-template-rows: auto 15px auto !important;
  gap: 7px !important;
  transform: translateY(1px);
}

.brand-title-v26 {
  font-size: 38px !important;
  line-height: .95 !important;
  letter-spacing: -0.04em !important;
}

.brand-route-v26 {
  height: 15px !important;
  margin-left: 0 !important;
}

.brand-route-v26::before {
  top: 4px !important;
  height: 7px !important;
}

.brand-station-v26 {
  width: 18px !important;
  height: 18px !important;
  border-width: 4px !important;
}

/* more natural uneven station rhythm */
.brand-station-v26.station-1 { left: 8% !important; }
.brand-station-v26.station-2 { left: 25% !important; }
.brand-station-v26.station-3 { left: 43% !important; }
.brand-station-v26.station-4 { left: 67% !important; }
.brand-station-v26.station-5 { left: 89% !important; }

.brand-subtitle-v26 {
  font-size: 15px !important;
  line-height: 1.2 !important;
  transform: translateY(1px);
}

.header-inner nav {
  font-size: 14px !important;
  gap: 8px !important;
}

@media (max-width: 1260px) {
  .brand-v26 {
    grid-template-columns: 120px minmax(380px, 1fr) !important;
    gap: 12px !important;
    flex: 0 1 600px !important;
    width: 600px !important;
    max-width: 600px !important;
    min-width: 560px !important;
  }
  .brand-network-box,
  .brand-network-svg {
    width: 120px !important;
    height: 88px !important;
  }
  .brand-title-v26 {
    font-size: 34px !important;
  }
  .brand-subtitle-v26 {
    font-size: 14px !important;
  }
}

@media (max-width: 1160px) {
  .header-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .brand-v26 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
  }
  .header-inner nav {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 760px) {
  .header {
    min-height: auto !important;
  }
  .header-inner {
    min-height: auto !important;
  }
  .brand-v26 {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .brand-network-box,
  .brand-network-svg {
    width: 82px !important;
    height: 60px !important;
  }
  .brand-title-v26 {
    font-size: 25px !important;
    white-space: nowrap !important;
  }
  .brand-subtitle-v26 {
    font-size: 12px !important;
    white-space: normal !important;
  }
  .brand-copy-v26 {
    gap: 4px !important;
  }
  .header-inner nav {
    flex-wrap: wrap !important;
  }
}


/* V29 route-line connection and station centering fix */
.brand-v26 {
  grid-template-columns: 132px minmax(410px, 1fr) !important;
  gap: 0 !important;
  flex: 0 1 650px !important;
  width: 650px !important;
  max-width: 650px !important;
  min-width: 610px !important;
}

.brand-network-box,
.brand-network-svg {
  width: 132px !important;
  height: 97px !important;
}

.brand-copy-v26 {
  display: grid !important;
  grid-template-rows: auto 18px auto !important;
  gap: 6px !important;
  padding-left: 14px !important;   /* text breathes away from the box */
  transform: translateY(1px) !important;
}

/* route line ignores text padding so it joins the network box */
.brand-route-v26 {
  display: block !important;
  position: relative !important;
  height: 18px !important;
  margin-left: -14px !important;
  width: calc(100% + 14px) !important;
}

.brand-route-v26::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 50% !important;
  height: 7px !important;          /* same visual thickness as SVG route */
  border-radius: 999px !important;
  background: #a84f32 !important;
  transform: translateY(-50%) !important;
}

.brand-station-v26 {
  position: absolute !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  border: 4px solid #25292c !important;
  background: #f6f1e6 !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
}

/* less mechanical, deliberately irregular spacing */
.brand-station-v26.station-1 { left: 7.5% !important; }
.brand-station-v26.station-2 { left: 23% !important; }
.brand-station-v26.station-3 { left: 42% !important; }
.brand-station-v26.station-4 { left: 69% !important; }
.brand-station-v26.station-5 { left: 90.5% !important; }

.brand-title-v26 {
  font-size: 38px !important;
  line-height: .95 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.brand-subtitle-v26 {
  font-size: 15px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ensure the matching internal route is the same rust colour and thickness */
.brand-v26 .net-rust {
  stroke: #a84f32 !important;
}
.brand-v26 .net-line {
  stroke-width: 7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* keep nav on one line at normal desktop widths */
.header-inner {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.header-inner nav {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

@media (max-width: 1260px) {
  .brand-v26 {
    grid-template-columns: 120px minmax(380px, 1fr) !important;
    gap: 0 !important;
    flex: 0 1 600px !important;
    width: 600px !important;
    max-width: 600px !important;
    min-width: 560px !important;
  }
  .brand-network-box,
  .brand-network-svg {
    width: 120px !important;
    height: 88px !important;
  }
  .brand-copy-v26 {
    padding-left: 12px !important;
  }
  .brand-route-v26 {
    margin-left: -12px !important;
    width: calc(100% + 12px) !important;
  }
  .brand-title-v26 {
    font-size: 34px !important;
  }
  .brand-subtitle-v26 {
    font-size: 14px !important;
  }
}

@media (max-width: 1160px) {
  .header-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .brand-v26 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
  }
  .header-inner nav {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 760px) {
  .brand-v26 {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .brand-network-box,
  .brand-network-svg {
    width: 82px !important;
    height: 60px !important;
  }
  .brand-copy-v26 {
    padding-left: 8px !important;
    gap: 4px !important;
  }
  .brand-route-v26 {
    margin-left: -8px !important;
    width: calc(100% + 8px) !important;
    height: 14px !important;
  }
  .brand-route-v26::before {
    height: 5px !important;
  }
  .brand-station-v26 {
    width: 14px !important;
    height: 14px !important;
    border-width: 3px !important;
  }
  .brand-title-v26 {
    font-size: 25px !important;
    white-space: nowrap !important;
  }
  .brand-subtitle-v26 {
    font-size: 12px !important;
    white-space: normal !important;
  }
}


/* V30 header: use approved artwork at controlled width so nav stays on one row */
.header {
  min-height: 132px !important;
}

.header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-height: 112px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.brand-v30 {
  display: block !important;
  flex: 0 0 620px !important;
  width: 620px !important;
  max-width: 620px !important;
  min-width: 0 !important;
  text-decoration: none !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.brand-header-v30-img {
  display: block !important;
  width: 620px !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

/* Hide older constructed-brand pieces if any remain through cached CSS/order */
.brand-v30 .brand-network-box,
.brand-v30 .brand-network-svg,
.brand-v30 .brand-copy-v26,
.brand-v30 .brand-title-v26,
.brand-v30 .brand-route-v26,
.brand-v30 .brand-subtitle-v26,
.brand-v30 .brand-mark,
.brand-v30 .brand-line {
  display: none !important;
}

.header-inner nav {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

/* On narrower screens the brand can shrink or stack above the nav */
@media (max-width: 1240px) {
  .brand-v30 {
    flex-basis: 570px !important;
    width: 570px !important;
    max-width: 570px !important;
  }
  .brand-header-v30-img {
    width: 570px !important;
  }
}

@media (max-width: 1160px) {
  .header-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .brand-v30 {
    flex: 1 1 100% !important;
    width: min(620px, 100%) !important;
    max-width: 620px !important;
  }
  .brand-header-v30-img {
    width: min(620px, 100%) !important;
  }
  .header-inner nav {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 760px) {
  .header {
    min-height: auto !important;
  }
  .header-inner {
    min-height: auto !important;
  }
  .brand-v30,
  .brand-header-v30-img {
    width: 100% !important;
    max-width: 100% !important;
  }
  .header-inner nav {
    flex-wrap: wrap !important;
  }
}


/* V32 final header image: compact, transparent, aligned */
.header {
  min-height: 128px !important;
}

.header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-height: 108px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.brand-v30 {
  display: block !important;
  flex: 0 0 620px !important;
  width: 620px !important;
  max-width: 620px !important;
  min-width: 0 !important;
  text-decoration: none !important;
  line-height: 0 !important;
  overflow: visible !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  background: transparent !important;
}

.brand-header-v30-img {
  display: block !important;
  width: 620px !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
}

.header-inner nav {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

@media (max-width: 1240px) {
  .brand-v30 {
    flex-basis: 570px !important;
    width: 570px !important;
    max-width: 570px !important;
  }
  .brand-header-v30-img {
    width: 570px !important;
  }
}

@media (max-width: 1160px) {
  .header-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .brand-v30 {
    flex: 1 1 100% !important;
    width: min(620px, 100%) !important;
    max-width: 620px !important;
  }
  .brand-header-v30-img {
    width: min(620px, 100%) !important;
  }
  .header-inner nav {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 760px) {
  .header {
    min-height: auto !important;
  }
  .header-inner {
    min-height: auto !important;
  }
  .brand-v30,
  .brand-header-v30-img {
    width: 100% !important;
    max-width: 100% !important;
  }
  .header-inner nav {
    flex-wrap: wrap !important;
  }
}


/* V33 test: white header background */
.header,
.header-inner,
.brand-v30 {
  background: #ffffff !important;
}


/* V46 Map Listing resizing fix
   Removed fixed !important width locks from listing columns so the drag handles
   can resize every column, including the first six columns. */
.wide-list-table th,
.wide-list-table td {
  max-width: none;
}

.wide-list-table th {
  overflow: visible;
}

.wide-list-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}


/* V48 Map Gallery refinements and active-map frame restoration */

/* Restore clearly visible blue frames for the last two opened maps. */
.thumb-tile.recent-active,
.thumb-tile.recent-active-primary,
.thumb-tile.recent-active-secondary {
  border-style: solid !important;
  border-width: 2px !important;
  border-radius: 10px !important;
}

.thumb-tile.recent-active-primary {
  border-color: #2f63b7 !important;
}

.thumb-tile.recent-active-secondary {
  border-color: #7fa3df !important;
}

/* Keep the active frame visible even when later palette rules set tile backgrounds. */
.cover-grid .thumb-tile.recent-active,
.cover-grid .thumb-tile.recent-active-primary,
.cover-grid .thumb-tile.recent-active-secondary {
  box-shadow: inset 0 0 0 1px rgba(47, 99, 183, .16);
}

/* Place the Map Gallery legend heading and content on one compact row. */
.gallery-legend-block {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
}

.gallery-legend-block h3 {
  margin: 0;
  flex: 0 0 auto;
}

.gallery-legend-block .legend-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 18px;
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 760px) {
  .gallery-legend-block {
    display: block;
  }
  .gallery-legend-block h3 {
    margin-bottom: 6px;
  }
}


/* V50 Phase 1: no CSS layout changes; included to align with cache-buster v50. */


/* V52 Contact form compact two-column layout */
.contact-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px 14px;
  max-width: 760px;
}
.contact-form .field-name,
.contact-form .field-email {
  display: grid !important;
  width: auto !important;
  margin: 0 !important;
}
.contact-form label:not(.field-name):not(.field-email),
.contact-form button[type="submit"] {
  grid-column: 1 / -1;
}
.contact-form label {
  margin-bottom: 0;
}
.contact-form button[type="submit"] {
  justify-self: start;
}
@media(max-width: 720px) {
  .contact-form {
    grid-template-columns: 1fr;
  }
  .contact-form .field-name,
  .contact-form .field-email,
  .contact-form label:not(.field-name):not(.field-email),
  .contact-form button[type="submit"] {
    grid-column: 1 / -1;
  }
}


/* V53 Phase 2: Map Gallery homepage refinements
   Previous v52 files are also included in this update zip under _archive/v52-before-phase2/ for rollback reference. */
#coverSearch::placeholder {
  color: var(--muted);
}
.gallery-panel {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(37, 52, 44, .08);
}
.gallery-scroll {
  padding: 14px 16px 16px;
}
.gallery-notes {
  margin-top: 10px;
}
.gallery-legend-block {
  margin-bottom: 8px;
}
.gallery-notes-block h3 {
  margin-bottom: 5px;
}
.gallery-notes-block ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px 30px;
  margin: 0;
  padding-left: 20px;
}
.gallery-notes-block li {
  break-inside: avoid;
  margin-bottom: 2px;
}
.controls input,
.controls select {
  background: #fff !important;
}
@media(max-width: 760px) {
  .gallery-notes-block ol {
    grid-template-columns: 1fr;
  }
}

/* V54 Gallery tile-frame option
   Keeps the scrollable gallery area white and gives each map tile its own subtle frame. */
.gallery-panel,
.gallery-scroll {
  background: #fff !important;
}
.cover-grid .thumb-tile {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px;
  padding: 8px 6px 7px;
}
.cover-grid .thumb-tile.recent-active,
.cover-grid .thumb-tile.recent-active-primary {
  border-color: var(--accent) !important;
}
.cover-grid .thumb-tile.recent-active-secondary {
  border-color: rgba(169,130,58,.45) !important;
}


/* V55 Gallery legend descriptions and Instructions/Notes heading */
.gallery-legend-block {
  display: block;
  margin-bottom: 8px;
}
.gallery-legend-block h3 {
  margin: 0 0 5px;
}
.gallery-legend-block .legend-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px 30px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--muted);
}
.gallery-legend-block .legend-grid strong {
  color: var(--accent);
}
.gallery-notes-block h3 {
  margin-top: 8px;
}
@media(max-width: 760px) {
  .gallery-legend-block .legend-grid {
    grid-template-columns: 1fr;
  }
}


/* V60 Gallery active-frame fix
   Reasserts the last-two-opened map frames after the V54 white tile frames.
   The normal tile frame remains light; selected maps get a clear outer ring. */
#coverGrid .thumb-tile.recent-active,
#coverGrid .thumb-tile.recent-active-primary,
.gallery-scroll .cover-grid .thumb-tile.recent-active,
.gallery-scroll .cover-grid .thumb-tile.recent-active-primary {
  border: 2px solid #2f63b7 !important;
  box-shadow:
    0 0 0 2px rgba(47, 99, 183, .18),
    0 2px 8px rgba(47, 99, 183, .14) !important;
}

#coverGrid .thumb-tile.recent-active-secondary,
.gallery-scroll .cover-grid .thumb-tile.recent-active-secondary {
  border: 2px solid #7fa3df !important;
  box-shadow:
    0 0 0 2px rgba(127, 163, 223, .16),
    0 2px 8px rgba(127, 163, 223, .10) !important;
}

/* Keep active frames visually stable on hover/focus and above adjacent tile edges. */
#coverGrid .thumb-tile.recent-active,
#coverGrid .thumb-tile.recent-active-primary,
#coverGrid .thumb-tile.recent-active-secondary {
  position: relative;
  z-index: 1;
}


/* V61 combined patch:
   1) Map Listing scroll-depth adjustment.
   2) Map Gallery notes use the same two-list column behaviour as Map Listing. */

/* Limits the Map Listing data panel to roughly 20 compact rows plus the sticky header. */
#list .list-panel {
  max-height: 610px !important;
}

/* Prevent the older Gallery-specific grid rule from making note numbers run left-to-right. */
.gallery-notes-block .notes-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.gallery-notes-block .notes-columns ol {
  display: block !important;
  columns: auto !important;
  margin: 0;
  padding-left: 20px;
}

@media(max-width: 760px) {
  .gallery-notes-block .notes-columns {
    grid-template-columns: 1fr;
  }
}


/* V64 Map Gallery Instructions/Notes numbering fix
   Makes the Gallery notes behave like the Map Listing notes:
   numbering flows down the first column, then continues down the second column.
   Includes rules for both possible HTML structures:
   - a single <ol> inside .gallery-notes-block
   - two <ol> lists inside .gallery-notes-block .notes-columns
*/

/* If the Gallery notes are a single ordered list, use CSS columns instead of grid. */
.gallery-notes-block > ol {
  display: block !important;
  columns: 2;
  column-gap: 34px;
  margin: 0;
  padding-left: 20px;
}

.gallery-notes-block > ol li {
  break-inside: avoid;
  margin-bottom: 5px;
}

/* If the Gallery notes are two ordered lists, lay them out like the Map Listing notes. */
.gallery-notes-block .notes-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.gallery-notes-block .notes-columns ol {
  display: block !important;
  columns: auto !important;
  margin: 0;
  padding-left: 20px;
}

.gallery-notes-block .notes-columns li {
  break-inside: avoid;
  margin-bottom: 5px;
}

@media(max-width: 760px) {
  .gallery-notes-block > ol {
    columns: auto;
  }

  .gallery-notes-block .notes-columns {
    grid-template-columns: 1fr;
  }
}


/* V66 Gallery active-frame wrap fix
   Keep active map highlighting from changing tile width, so the
   "Open Map Profile | Expand Cover" link row does not wrap. */
#coverGrid .thumb-tile.recent-active,
#coverGrid .thumb-tile.recent-active-primary,
#coverGrid .thumb-tile.recent-active-secondary,
.gallery-scroll .cover-grid .thumb-tile.recent-active,
.gallery-scroll .cover-grid .thumb-tile.recent-active-primary,
.gallery-scroll .cover-grid .thumb-tile.recent-active-secondary {
  border-width: 1px !important;
  outline: 2px solid #2f63b7;
  outline-offset: 0;
}

#coverGrid .thumb-tile.recent-active-secondary,
.gallery-scroll .cover-grid .thumb-tile.recent-active-secondary {
  outline-color: #7fa3df;
}

.cover-grid .thumb-links {
  white-space: nowrap;
}

.cover-grid .thumb-links a,
.cover-grid .thumb-links button {
  white-space: nowrap;
}

/* V72 Map Gallery date emphasis
   Makes the date/version line beneath Gallery thumbnails easier to read on laptop screens. */
.cover-grid .thumb-date {
  font-weight: 700;
}


/* v89: gallery gap badges, legend badge icons, and profile notes heading hierarchy */
.thumb-open{position:relative;}
.gallery-badges{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:2;pointer-events:none;}
.gallery-badge{display:block;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));}
.gallery-badge-gap{width:38px;height:38px;}
.legend-grid-gallery-badges .legend-icon-row{display:flex;align-items:flex-start;gap:10px;}
.legend-badge-icon{width:22px;height:22px;object-fit:contain;flex:0 0 auto;margin-top:1px;}
.notes-card > h3{font-size:20px;}
.notes-col h3{font-size:18px;}
.profile-ref-map-id span{color:#c1121f;font-weight:700;}
@media(max-width:760px){.gallery-badge{width:30px;height:30px}.gallery-badge-gap{width:34px;height:34px}}

/* v90: refined gallery badges and blank collection-gap thumbnail */
.gallery-badge-gap{width:36px;height:36px;}
.gallery-badge-image-needed{width:32px;height:32px;}
.thumb-img[src$="collection-gap-blank.webp"]{
  border:1px dashed var(--line);
  background:#fff;
}
.legend-grid-gallery-badges .legend-icon-row{
  align-items:center;
}
.legend-badge-icon{
  width:24px;
  height:24px;
}
@media(max-width:760px){
  .gallery-badge-gap{width:32px;height:32px;}
  .gallery-badge-image-needed{width:28px;height:28px;}
}


/* v91: blank no-image viewer states and cleaner gap blank thumbnail */
.multi-viewer-empty{display:none;align-items:center;justify-content:center;text-align:center;padding:28px 32px;background:#fff;color:#6f746d;font-size:18px;line-height:1.45;border:1px dashed #d6cdbd;border-radius:18px;box-sizing:border-box;}
.thumb-img[src$="collection-gap-blank.webp"]{border:none !important;background:#fff;}


/* v92: remove visible inner blank-image box and restore Map Profile upper-field hierarchy */
.thumb-img[data-blank-gap="yes"]{
  opacity:0;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Keep the clickable blank gap area, but do not draw an extra internal image frame. */
.thumb-open:has(.thumb-img[data-blank-gap="yes"]){
  background:transparent;
}

/* Restore stronger Map Profile field values. */
.profile-ref-item span{
  font-weight:700;
  font-size:14px;
  line-height:1.25;
}

/* Keep labels visually subordinate. */
.profile-ref-item small{
  font-weight:400;
  font-size:10px;
  line-height:1.15;
}

/* Keep the Site Map ID label/value in a compact side panel beside the title. */
.profile-ref-row-title{
  grid-template-columns:minmax(0,1fr) minmax(110px,150px);
  align-items:start;
}
.profile-ref-row-title .profile-ref-full{
  min-width:0;
}
.profile-ref-row-title .profile-ref-map-id{
  min-width:110px;
  max-width:150px;
}
.profile-ref-map-id small{
  white-space:normal;
}
.profile-ref-map-id span{
  color:#c1121f;
  font-weight:700;
  white-space:nowrap;
}

/* Ensure Notes remains visually senior to the boxed Cover/Map sub-headings. */
.notes-card > h3{
  font-size:20px;
}
.notes-col h3{
  font-size:18px;
}
@media(max-width:900px){
  .profile-ref-row-title{
    grid-template-columns:1fr;
  }
  .profile-ref-row-title .profile-ref-map-id{
    max-width:none;
  }
}


/* v93: uniform no-image messages for viewer and Map Profile thumbnail */
.multi-viewer-empty{padding:36px 88px 72px 36px;min-width:520px;min-height:640px;font-size:19px;line-height:1.45;border:1px dashed #d6cdbd;border-radius:18px;background:#fff;color:#6f746d;}
.profile-thumb-empty{height:260px;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;background:#fff;color:#6f746d;font-size:16px;line-height:1.4;border:1px dashed #d6cdbd;border-radius:0;box-sizing:border-box;}
.profile-side .thumb-open{display:block;width:100%;}
.profile-side .thumb-open .profile-thumb-empty{width:100%;}
@media(max-width:760px){.multi-viewer-empty{min-width:0;min-height:0;padding:28px 76px 68px 28px;font-size:17px}.profile-thumb-empty{height:210px;font-size:15px}}


/* v94: larger no-image viewers and restored Map Profile blank thumbnail proportions */
.multi-viewer-empty{
  min-width:0 !important;
  min-height:0 !important;
  width:100% !important;
  height:100% !important;
  padding:48px 118px 88px 48px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-size:20px;
  line-height:1.45;
}

/* Keep the Map Profile no-image card in a portrait thumbnail shape rather than a shallow wide panel. */
.profile-thumb-empty{
  width:190px;
  height:360px;
  max-width:100%;
  margin:0 auto;
  padding:24px 18px;
  font-size:16px;
  line-height:1.4;
}

@media(max-width:760px){
  .multi-viewer-empty{
    padding:40px 96px 82px 36px !important;
    font-size:17px;
  }
  .profile-thumb-empty{
    width:170px;
    height:300px;
  }
}


/* v98: CSS-only recovery patch. Keeps v94 JavaScript unchanged. */
.profile-thumb-empty{
  width:260px !important;
  height:650px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:32px 22px !important;
  font-size:16px !important;
  line-height:1.4 !important;
}
@media(max-width:900px){
  .profile-thumb-empty{
    height:560px !important;
  }
}
@media(max-width:760px){
  .profile-thumb-empty{
    width:220px !important;
    height:430px !important;
  }
}

/* v99: CSS cache-buster; Map Profile image recursion fixed in JS. */


/* v100: allow Gallery badge hover descriptions */
.gallery-badges{
  pointer-events:auto;
}
.gallery-badge-tip{
  display:block;
  cursor:default;
}
.gallery-badge-tip .gallery-badge{
  pointer-events:none;
}


/* v101: remove help/question-mark cursor from Gallery badge hover text */
.gallery-badge-tip{
  cursor:default !important;
}


/* v103: stable single-badge logic; keep native tooltip and no help cursor */
.gallery-badge-tip{
  cursor:default !important;
}

/* v104: badge explanations removed from Gallery Legend; badge hover text retained. */

/* v105: Gallery gap badge shown for all missing maps; IMG badge added below where no image exists. */

/* v106: revised Gallery GAP/IMG badge hover text; display logic unchanged from v105. */


/* V110 UI polish: lower, consistent search/dropdown controls and italic placeholders. */
.controls input,
.controls select {
  min-height: 32px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.controls input::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(43, 47, 51, .58) !important;
  font-size: 12px !important;
  font-style: italic !important;
}

/* V110 Site Map ID information icon standardisation. */
.site-map-id-info,
.cn-info-btn {
  display: inline-grid !important;
  place-items: center !important;
  width: 15px !important;
  height: 15px !important;
  margin-left: 4px !important;
  border: 1px solid var(--accent) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--accent) !important;
  font: inherit !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: default !important;
  vertical-align: 1px !important;
  padding: 0 !important;
}

.site-map-id-info:hover,
.site-map-id-info:focus,
.cn-info-btn:hover,
.cn-info-btn:focus {
  background: rgba(0, 113, 206, .08) !important;
  border-color: var(--blue) !important;
  color: var(--blue) !important;
  outline: none !important;
}


/* V111 correction: apply lower control height to Submit listing panel fields too. */
#cnSubmitListing .cn-form input,
#cnSubmitListing .cn-form select {
  min-height: 32px !important;
  height: 32px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

#cnSubmitListing .cn-form textarea {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

#cnSubmitListing .cn-form input::placeholder,
#cnSubmitListing .cn-form textarea::placeholder {
  color: rgba(43, 47, 51, .58) !important;
  font-size: 12px !important;
  font-style: italic !important;
}


/* V112 correction: Resources double-digit list alignment. */
#resources .text-page ol[start="20"] {
  margin-left: 0 !important;
  padding-left: 18px !important;
  list-style-position: outside !important;
}


/* v118: Gallery VAR badge and revised IMG badge size/order. */
.gallery-badges{
  gap:4px !important;
}
.gallery-badge-variant{
  width:38px !important;
  height:38px !important;
}
.gallery-badge-image-needed{
  width:34px !important;
  height:34px !important;
}
@media(max-width:760px){
  .gallery-badge-variant{width:34px !important;height:34px !important;}
  .gallery-badge-image-needed{width:30px !important;height:30px !important;}
}


/* v119: stabilise blank Gallery cards and align the badge stack.
   Blank cards no longer load a transparent/fallback image, which stops flicker. */
.cover-grid .thumb-open{
  position:relative;
}
.cover-grid .thumb-img-blank{
  display:block;
  height:260px;
  width:126px;
  max-width:100%;
  margin:0 auto;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.cover-grid .gallery-badges{
  right:-6px !important;
  top:6px !important;
}
.gallery-badge-image-needed{
  width:38px !important;
  height:38px !important;
}
@media(max-width:1100px){
  .cover-grid .thumb-img-blank{height:230px;width:112px;}
}
@media(max-width:760px){
  .cover-grid .thumb-img-blank{height:210px;width:104px;}
  .cover-grid .gallery-badges{right:-4px !important;}
  .gallery-badge-image-needed{width:34px !important;height:34px !important;}
}


/* v126: enlarge Gallery badge display again and tighten badge stack spacing further. */
.cover-grid .gallery-badges{
  right:-6px !important;
  top:6px !important;
  align-items:center !important;
  gap:1px !important;
}
.gallery-badge-tip{
  position:relative;
  display:block;
  width:46px !important;
  height:46px !important;
  pointer-events:auto;
}
.gallery-badge,
.gallery-badge-gap,
.gallery-badge-image-needed,
.gallery-badge-variant{
  width:46px !important;
  height:46px !important;
  object-fit:contain !important;
}
.gallery-badge-tooltip{
  position:fixed;
  z-index:9999;
  max-width:min(520px,calc(100vw - 32px));
  padding:5px 8px;
  border-radius:6px;
  background:#fff;
  color:var(--ink,#2b2f33);
  border:1px solid var(--line,#d6cdbd);
  font-size:11px;
  line-height:1.3;
  box-shadow:0 3px 8px rgba(37,52,44,.10);
  pointer-events:none;
  white-space:pre-line;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .08s ease, transform .08s ease;
}
.gallery-badge-tooltip.visible{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:760px){
  .gallery-badge-tip,
  .gallery-badge,
  .gallery-badge-gap,
  .gallery-badge-image-needed,
  .gallery-badge-variant{
    width:42px !important;
    height:42px !important;
  }
}


/* v128: consistent site tooltip styling/cursors. */
.site-map-id-info,
.cn-info-btn,
.gallery-badge-tip,
.tp-listing-text,
.tp-listing-title {
  cursor: default !important;
}

.gallery-badge-tooltip {
  background:#fff !important;
  color:var(--ink,#2b2f33) !important;
  border:1px solid var(--line,#d6cdbd) !important;
  border-radius:6px !important;
  padding:5px 8px !important;
  font-size:11px !important;
  line-height:1.3 !important;
  box-shadow:0 3px 8px rgba(37,52,44,.10) !important;
  white-space:pre-line !important;
}


/* v131: Gallery variant links.
   IBM Blue is used deliberately here, rather than the site's lighter standard
   link colour, so the compact V1/V2/V3 controls are clearly identifiable as links. */
.cover-grid .thumb-date .gallery-variant-links {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: 3px;
}

.cover-grid .thumb-date .gallery-variant-link,
.cover-grid .thumb-date .gallery-variant-link:visited {
  color: #0f62fe !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 800;
  cursor: pointer;
}

.cover-grid .thumb-date .gallery-variant-link:hover,
.cover-grid .thumb-date .gallery-variant-link:focus-visible {
  color: #0043ce !important;
  text-decoration-thickness: 2px;
}


/* v132: revised VAR tooltip content and cursor-offset V/M link tooltips. */
.gallery-badge-tooltip strong { font-weight: 800; }
.gallery-variant-link-tooltip {
  position: fixed;
  z-index: 2147483645;
  max-width: min(420px, calc(100vw - 32px));
  padding: 5px 8px;
  border: 1px solid var(--line, #d6cdbd);
  border-radius: 6px;
  background: #fff;
  color: var(--ink, #2b2f33);
  font-size: 11px;
  line-height: 1.3;
  box-shadow: 0 3px 8px rgba(37,52,44,.10);
  pointer-events: none;
  white-space: normal;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .08s ease, transform .08s ease;
}
.gallery-variant-link-tooltip.visible { opacity: 1; transform: translateY(0); }


/* v134: reduce Gallery badge display size for sharper Fiverr artwork. */
.cover-grid .gallery-badges{
  right:-3px !important;
  top:5px !important;
  gap:1px !important;
}
.gallery-badge-tip,
.gallery-badge,
.gallery-badge-gap,
.gallery-badge-variant{
  width:40px !important;
  height:40px !important;
}
@media(max-width:760px){
  .gallery-badge-tip,
  .gallery-badge,
  .gallery-badge-gap,
  .gallery-badge-variant{
    width:36px !important;
    height:36px !important;
  }
}


/* v135: slightly smaller Fiverr badges, shifted right, with clearer stack spacing. */
.cover-grid .gallery-badges{
  right:-8px !important;
  top:5px !important;
  gap:7px !important;
}
.gallery-badge-tip,
.gallery-badge,
.gallery-badge-gap,
.gallery-badge-variant{
  width:36px !important;
  height:36px !important;
}
@media(max-width:760px){
  .cover-grid .gallery-badges{
    right:-7px !important;
    gap:6px !important;
  }
  .gallery-badge-tip,
  .gallery-badge,
  .gallery-badge-gap,
  .gallery-badge-variant{
    width:32px !important;
    height:32px !important;
  }
}


/* v136: move Gallery GAP/VAR badge stack slightly further right. */
.cover-grid .gallery-badges{
  right:-12px !important;
}
@media(max-width:760px){
  .cover-grid .gallery-badges{
    right:-10px !important;
  }
}
