Toggle menu
17
24
14
1.7K
Landrace.Wiki - The Landrace Cannabis Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Accession/styles.css: Difference between revisions

Template page
Created page with "Template:Accession/styles.css: Complete CSS for Landrace Cannabis Accession Pages: .accession-hero { margin-bottom: 2rem; } Gallery Styles: .hero-gallery { margin-bottom: 1.5rem; } .hero-image { position: relative; width: 100%; height: 400px; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15); } .hero-img { width: 100%; height: 100%; object-fit: cover; } .hero-placeholder { width: 100%; height:..."
 
Undo revision 1597 by Eloise Zomia (talk)
Tag: Undo
 
(75 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Template:Accession/styles.css */
/* ============================================ */
/* Complete CSS for Landrace Cannabis Accession Pages */
/* HERO CONTAINER – SUPER COMPACT              */
/* ============================================ */


.accession-hero {
.hero-header {
   margin-bottom: 2rem;
  background: #0f2117;
  border: 1px solid #1f3b2a;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  margin: 0.125rem 0 0.025rem;
  position: relative;
}
 
.hero-top {
   background: #152a21;
  color: #f9fafb;
  padding: 0.18rem 0.7rem 0.2rem 0.7rem;  /* was 0.45 / 0.9 / 0.5 */
  border-bottom: 1px solid rgba(140, 184, 156, 0.35);
  line-height: 1.2;
}
}


/* Gallery Styles */
/* ============================================ */
.hero-gallery {
/* TITLE + METADATA                            */
   margin-bottom: 1.5rem;
/* ============================================ */
 
.title-section {
   margin-bottom: 0.02rem;
}
}


.hero-image {
.hero-title {
   position: relative;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
   width: 100%;
   font-size: 1.3rem;
   height: 400px;
   font-weight: 600;
   border-radius: 12px;
   margin: 0 0 0.01rem 0;  
   overflow: hidden;
   line-height: 1.15;
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
   letter-spacing: -0.02em;
  color: #f9fafb;
}
}


.hero-img {
.hero-subtitle {
   width: 100%;
   font-family: "SF Mono", Monaco, Inconsolata, "Roboto Mono", "Courier New", monospace;
   height: 100%;
  font-size: 0.68rem;
   object-fit: cover;
  color: #e5e9c9;
  background: rgba(18, 42, 33, 0.9);
  border: 1px solid rgba(140, 184, 156, 0.4);
  padding: 0.08rem 0.2rem;  /* slightly tighter */
  border-radius: 2px;
  display: inline-block;
  margin-top: 0.08rem;       /* was 0.18rem */
   font-weight: 500;
  text-transform: uppercase;
   letter-spacing: 0.5px;
}
}


.hero-placeholder {
.accession-metadata {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
  gap: 0.04rem;    /* was 0.16rem */
  margin-top: 0.02rem;  /* was 0.15rem */
}
.metadata-primary {
  display: flex;
   align-items: center;
   align-items: center;
   justify-content: center;
   gap: 0.35rem;     /* was 0.5rem */
   color: #64748b;
   flex-wrap: wrap;
}
}


.placeholder-icon {
.metadata-secondary {
   font-size: 4rem;
  display: flex;
   margin-bottom: 1rem;
  align-items: center;
  gap: 0.2rem;      /* was 0.35rem */
  flex-wrap: wrap;
   font-size: 0.74rem;
   color: #c4d4cc;
}
}


.placeholder-text {
.separator {
   font-size: 1.1rem;
   color: #7a9682;
   font-weight: 500;
   user-select: none;
}
}


.hero-overlay {
/* ============================================ */
   position: absolute;
/* BADGES                                      */
   bottom: 0;
/* ============================================ */
   left: 0;
 
   right: 0;
.status-badge,
   background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
.classification-badge {
   color: white;
   padding: 0.1rem 0.35rem;  /* was 0.14rem 0.45rem */
   padding: 2rem;
  border-radius: 999px;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.68rem;
   font-weight: 600;
   border: 1px solid transparent;
   display: inline-flex;
  align-items: center;
   justify-content: center;
   white-space: nowrap;
}
}


.hero-title {
.accession-id-badge {
   font-size: 2.5rem;
   background: rgba(134, 239, 172, 0.16);
   font-weight: 700;
   border-color: rgba(134, 239, 172, 0.4);
   margin-bottom: 0.5rem;
   color: #bbf7d0;
   text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
   font-family: "SF Mono", Monaco, monospace;
}
}


.hero-subtitle {
.collection-date {
   font-size: 1.1rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   opacity: 0.9;
   font-size: 0.76rem;
   font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
   color: #c4d4cc;
   margin-bottom: 0.5rem;
  font-weight: 500;
  background: rgba(196, 212, 204, 0.08);
   border: 1px solid rgba(196, 212, 204, 0.15);
   padding: 0.16rem 0.5rem;  /* was 0.2rem 0.6rem */
  border-radius: 3px;
}
}


.hero-location {
.collector {
   font-size: 1rem;
   font-size: 0.74rem;
   opacity: 0.8;
   color: #e5e9c9;
  font-weight: 500;
}
}


.gallery-thumbs {
.affiliation {
   display: flex;
   font-size: 0.74rem;
  gap: 0.75rem;
   color: #a7c1b1;
   margin-top: 1rem;
  overflow-x: auto;
  padding: 0.5rem 0;
}
}


.thumb {
/* Status flavours – unchanged colours */
   flex-shrink: 0;
.status-active {
  width: 80px;
   background: #14532d;
  height: 60px;
   border-color: #22c55e;
   border-radius: 8px;
   color: #e6f9ef;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.7;
  transition: all 0.3s ease;
   position: relative;
}
}


.thumb:hover, .thumb.active {
.status-tier1 {
   opacity: 1;
  background: #075985;
   transform: scale(1.05);
   border-color: #38bdf8;
   color: #e0f2fe;
}
}


.thumb img {
.status-priority {
   width: 100%;
   background: #7f1d1d;
   height: 100%;
   border-color: #f97373;
   object-fit: cover;
   color: #fee2e2;
}
}


.thumb-label {
.classification-landrace {
  position: absolute;
   background: #064e3b;
  bottom: 0;
   border-color: #22c55e;
  left: 0;
   color: #bbf7d0;
  right: 0;
   background: rgba(0, 0, 0, 0.7);
   color: white;
   font-size: 0.7rem;
  padding: 0.25rem;
  text-align: center;
}
}


/* Stats Dashboard */
.classification-population {
.hero-stats {
   background: #1e3a8a;
   display: grid;
   border-color: #6366f1;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   color: #c7d2fe;
   gap: 1rem;
  margin-bottom: 1.5rem;
}
}


.stat-card {
/* ============================================ */
   background: white;
/* SECTION LABELS + BREADCRUMBS                */
  border-radius: 12px;
/* ============================================ */
   padding: 1.5rem;
 
.header-section {
   margin-top: 0.04rem/* was 0.22rem */
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
   gap: 1rem;
   gap: 0.16rem;         /* was 0.25rem */
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
   flex-wrap: wrap;
   transition: transform 0.3s ease;
}
}


.stat-card:hover {
.section-label {
   transform: translateY(-2px);
  font-family: "SF Mono", Monaco, monospace;
  font-size: 0.58rem;
  color: #8fb59b;
   text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
}


.stat-icon {
.section-label.status {
   font-size: 2.5rem;
   color: #a6c3b3;
  flex-shrink: 0;
}
}


.stat-content {
.section-label.classification {
   flex: 1;
   color: #e3e7c5;
}
}


.stat-label {
.geographic-breadcrumb {
   font-size: 0.9rem;
   flex: 1 1 auto;
  color: #64748b;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
}


.stat-value {
.breadcrumb-trail {
   font-size: 1.3rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   font-weight: 700;
   font-size: 0.75rem;
   color: #1e293b;
  line-height: 1.1;  /* was 1.15 */
   margin-bottom: 0.25rem;
  display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 0.08rem;       /* was 0.14rem */
}
}


.stat-detail {
.breadcrumb-item {
   font-size: 0.85rem;
  background: rgba(155, 191, 167, 0.16);
   color: #64748b;
  border: 1px solid rgba(155, 191, 167, 0.32);
  color: #e6f4ec;
   font-weight: 500;
  padding: 0.04rem 0.22rem;  /* was 0.06rem 0.24rem */
  border-radius: 999px;
   text-decoration: none;
}
}


/* Conservation Status Colors */
.breadcrumb-item a {
.status-card.critical {
   color: inherit;
   border-left: 4px solid #ef4444;
  text-decoration: none;
   background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
}
.breadcrumb-item a:visited {
   color: inherit;
}
.breadcrumb-item a:hover {
  text-decoration: underline;
}
}


.status-card.high {
.breadcrumb-item:last-child {
   border-left: 4px solid #f97316;
   background: rgba(155, 191, 167, 0.32);
   background: linear-gradient(135deg, #fffbeb 0%, #fed7aa 100%);
   border-color: rgba(155, 191, 167, 0.6);
  color: #f4fffa;
}
}


.status-card.medium {
.breadcrumb-separator {
   border-left: 4px solid #eab308;
   color: #6e8f7c;
   background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
   font-size: 0.7rem;
  user-select: none;
}
}


.status-card.low {
/* ============================================ */
   border-left: 4px solid #22c55e;
/* STATUS ROW                                  */
   background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
/* ============================================ */
 
.status-row {
  margin-top: 0.08rem;      /* was 0.3rem */
  display: flex;
   justify-content: space-between;
   align-items: flex-start;
  gap: 0.3rem;              /* was 0.7rem */
  flex-wrap: wrap;
}
}


.status-card.unknown {
.status-group,
   border-left: 4px solid #6b7280;
.classification-group {
   background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
   flex: 1;
   min-width: 180px;         /* was 200px */
}
}


/* Breadcrumb */
.classification-group {
.hero-breadcrumb {
   text-align: right;
   background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 12px;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid #e2e8f0;
}
}


.breadcrumb-container {
.status-badges {
   display: flex;
   display: flex;
  align-items: center;
   flex-wrap: wrap;
   flex-wrap: wrap;
   gap: 0.5rem;
   gap: 0.18rem;            /* was 0.3rem */
  justify-content: flex-start;
}
 
.classification-group .status-badges {
  justify-content: flex-end;
}
 
/* ============================================ */
/* HERO SPLIT (IMAGE + MAP)                    */
/* ============================================ */
 
.hero-split {
  display: table;
  width: 100%;
  table-layout: fixed;
  background: #faf8f5;
  border-top: 1px solid rgba(140, 184, 156, 0.3);
}
 
.hero-image,
.hero-map {
  display: table-cell;
  width: 50%;
  vertical-align: top;
  height: 180px;
  position: relative;
}
}


.breadcrumb-item {
/* Image */
  display: flex;
 
  align-items: center;
.hero-image {
  gap: 0.5rem;
   background: #f5f3f0;
  padding: 0.5rem 0.75rem;
   border-right: 1px solid #d4c5b8;
   background: white;
   overflow: hidden;
   border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #475569;
   border: 1px solid #e2e8f0;
}
}


.breadcrumb-item.current {
.hero-image img,
   background: #2c5530;
.hero-photo {
   color: white;
   width: 100%;
   font-weight: 600;
   height: 100%;
   object-fit: cover;
  display: block;
}
}


.breadcrumb-arrow {
/* Image caption */
   color: #94a3b8;
 
   font-weight: bold;
.image-overlay {
   position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.7rem 0.9rem;
  background: rgba(12, 30, 23, 0.9);
   color: #e8f0ec;
}
}


.breadcrumb-icon {
.image-caption {
   font-size: 1rem;
  font-family: "SF Mono", Monaco, monospace;
   font-size: 0.76rem;
  margin: 0;
  line-height: 1.35;
}
}


/* Map Section */
/* Map */
 
.hero-map {
.hero-map {
   background: white;
   background: #fdfaf6;
   border-radius: 12px;
   border: 1px solid #e4d6c7;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
}


.map-container {
.map-container {
   height: 200px;
   height: 178px;
   background: #f1f5f9;
  width: calc(100% - 2px);
   background: #f9f6f3;
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
Line 257: Line 343:
}
}


.map-placeholder, .map-unavailable {
.lw-map {
   text-align: center;
  width: 100% !important;
   color: #64748b;
  height: 178px !important;
}
 
/* Map overlays */
 
.accession-status {
   position: absolute;
  top: 0.7rem;
  left: 0.7rem;
  max-width: 220px;
  padding: 0.5rem 0.7rem;
  background: rgba(253, 250, 246, 0.97);
   border: 1px solid #e4d6c7;
  border-radius: 3px;
  box-shadow: 0 3px 10px rgba(47, 69, 56, 0.18);
}
}


.map-icon {
.accession-status-title {
   font-size: 3rem;
  font-family: "SF Mono", Monaco, monospace;
   margin-bottom: 0.5rem;
   font-size: 0.68rem;
  text-transform: uppercase;
  color: #7b8676;
  font-weight: 600;
   margin-bottom: 0.2rem;
  letter-spacing: 0.5px;
}
}


.map-coords {
.accession-status-value {
   font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   font-size: 0.9rem;
   font-size: 0.8rem;
  margin-bottom: 0.5rem;
   font-weight: 600;
   font-weight: 600;
   color: #1e293b;
   color: #b91c1c;
  margin-bottom: 0.08rem;
}
}


.map-text {
.accession-status-note {
   font-size: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.72rem;
  color: #6b7280;
  line-height: 1.25;
}
 
.coordinates {
  position: absolute;
  bottom: 0.7rem;
  right: 0.7rem;
  padding: 0.45rem 0.7rem;
  background: rgba(253, 250, 246, 0.96);
  border: 1px solid #e4d6c7;
  border-radius: 999px;
  font-family: "SF Mono", Monaco, monospace;
   font-size: 0.7rem;
   font-weight: 500;
   font-weight: 500;
  color: #234232;
}
}


.map-actions {
/* ============================================ */
   padding: 1rem;
/* DETAIL STRIP                                */
/* ============================================ */
 
.hero-details {
  background: #234232;
  border-top: 1px solid rgba(140, 184, 156, 0.5);
   padding: 0.32rem 0.7rem;
   display: flex;
   display: flex;
   gap: 0.75rem;
  justify-content: space-evenly;
   flex-wrap: wrap;
   gap: 0.6rem;
   flex-wrap: nowrap;
  overflow-x: auto;
}
}


.action-btn {
.detail-group {
   padding: 0.75rem 1.5rem;
   display: flex;
   border-radius: 8px;
   flex-direction: column;
   font-weight: 600;
   min-width: 80px;
   font-size: 0.9rem;
   max-width: 130px;
   cursor: pointer;
   text-align: center;
   transition: all 0.3s ease;
   flex-shrink: 0;
  border: none;
}
}


.action-btn.primary {
.detail-label {
   background: #2c5530;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   color: white;
  font-size: 0.58rem;
   color: #b7d0c0;
  font-weight: 500;
   margin-bottom: 0.14rem;
}
}


.action-btn.primary:hover {
.detail-value {
   background: #22452a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   transform: translateY(-1px);
  font-size: 0.72rem;
  font-weight: 600;
   color: #f3faf7;
   line-height: 1.2;
}
}


.action-btn.secondary {
.detail-value.highlight {
  background: #f1f5f9;
   color: #fbbf24;
   color: #475569;
  border: 1px solid #e2e8f0;
}
}


.action-btn.secondary:hover {
/* ============================================ */
   background: #e2e8f0;
/* PHOTO GALLERY                                */
   transform: translateY(-1px);
/* ============================================ */
 
.acc-gallery {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.2rem 0 1.7rem 0;
}
}


/* Coming Soon Placeholder */
.acc-gallery-item {
.coming-soon {
   background: #f5f3f0;
   background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
   border: 1px solid #d4c5b8;
   border: 2px dashed #cbd5e0;
   border-radius: 3px;
   border-radius: 12px;
   overflow: hidden;
   padding: 2rem;
   display: flex;
   margin: 2rem 0;
   flex-direction: column;
   text-align: center;
}
}


.coming-soon-content {
.acc-gallery-img {
   max-width: 500px;
   width: 100%;
   margin: 0 auto;
  height: 150px;
  object-fit: cover;
   display: block;
}
}


.coming-soon h3 {
.acc-gallery-caption {
   color: #475569;
  padding: 0.55rem 0.6rem;
   margin-bottom: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.75rem;
  line-height: 1.35;
   color: #374151;
   background: #fefcf9;
}
}


.coming-soon p {
/* ============================================ */
  color: #64748b;
/* RESPONSIVE                                  */
   margin-bottom: 0.5rem;
/* ============================================ */
 
@media (max-width: 1024px) {
  .hero-top {
    padding: 0.45rem 0.7rem 0.5rem 0.7rem;
   }
 
  .acc-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
 
  .acc-gallery-img {
    height: 160px;
  }
}
}


/* Mobile Responsive */
@media (max-width: 768px) {
@media (max-width: 768px) {
   .hero-title {
   .status-row {
    font-size: 1.8rem;
  }
 
  .hero-stats {
    grid-template-columns: 1fr;
  }
 
  .breadcrumb-container {
     flex-direction: column;
     flex-direction: column;
     align-items: stretch;
     gap: 0.6rem;
   }
   }
 
 
   .breadcrumb-arrow {
   .classification-group {
     transform: rotate(90deg);
     text-align: left;
    align-self: center;
   }
   }
 
 
   .map-actions {
   .hero-split {
     flex-direction: column;
     display: block;
   }
   }
    
 
   .stat-card {
   .hero-image,
     padding: 1rem;
   .hero-map {
     display: block;
    width: 100%;
    height: 180px;
   }
   }
    
 
   .hero-overlay {
   .map-container,
     padding: 1.5rem;
   .lw-map {
     height: 178px !important;
   }
   }
}
}


@media (max-width: 480px) {
@media (max-width: 640px) {
   .hero-image {
   .metadata-secondary {
     height: 300px;
     font-size: 0.7rem;
   }
   }
 
 
   .hero-title {
   .acc-gallery {
     font-size: 1.5rem;
     grid-template-columns: 1fr;
   }
   }
 
 
   .stat-icon {
   .acc-gallery-img {
    font-size: 2rem;
     height: 180px;
  }
 
  .stat-value {
     font-size: 1.1rem;
   }
   }
}
/* ============================================ */
/* LEAFLET CONTROLS                            */
/* ============================================ */
.leaflet-control {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.leaflet-control-layers {
  background: rgba(253, 250, 246, 0.96) !important;
  border: 1px solid #e4d6c7 !important;
  border-radius: 3px !important;
  box-shadow: 0 4px 12px rgba(47, 69, 56, 0.15) !important;
  padding: 0.75rem !important;
}
.leaflet-control-zoom {
  border: 1px solid #e4d6c7 !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 8px rgba(47, 69, 56, 0.1) !important;
}
.leaflet-control-zoom a {
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
  font-size: 16px !important;
  background: #fefcfa !important;
  color: #234232 !important;
  border: none !important;
}
.leaflet-control-zoom a:hover {
  background: #f9f6f3 !important;
  color: #0f172a !important;
}
}

Latest revision as of 00:42, 21 November 2025

/* ============================================ */
/* HERO CONTAINER – SUPER COMPACT               */
/* ============================================ */

.hero-header {
  background: #0f2117;
  border: 1px solid #1f3b2a;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  margin: 0.125rem 0 0.025rem; 
  position: relative;
}

.hero-top {
  background: #152a21;
  color: #f9fafb;
  padding: 0.18rem 0.7rem 0.2rem 0.7rem;  /* was 0.45 / 0.9 / 0.5 */
  border-bottom: 1px solid rgba(140, 184, 156, 0.35);
  line-height: 1.2;
}

/* ============================================ */
/* TITLE + METADATA                             */
/* ============================================ */

.title-section {
  margin-bottom: 0.02rem;  
}

.hero-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  margin: 0 0 0.01rem 0;   
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #f9fafb;
}

.hero-subtitle {
  font-family: "SF Mono", Monaco, Inconsolata, "Roboto Mono", "Courier New", monospace;
  font-size: 0.68rem;
  color: #e5e9c9;
  background: rgba(18, 42, 33, 0.9);
  border: 1px solid rgba(140, 184, 156, 0.4);
  padding: 0.08rem 0.2rem;   /* slightly tighter */
  border-radius: 2px;
  display: inline-block;
  margin-top: 0.08rem;       /* was 0.18rem */
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.accession-metadata {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;     /* was 0.16rem */
  margin-top: 0.02rem;  /* was 0.15rem */
}

.metadata-primary {
  display: flex;
  align-items: center;
  gap: 0.35rem;     /* was 0.5rem */
  flex-wrap: wrap;
}

.metadata-secondary {
  display: flex;
  align-items: center;
  gap: 0.2rem;      /* was 0.35rem */
  flex-wrap: wrap;
  font-size: 0.74rem;
  color: #c4d4cc;
}

.separator {
  color: #7a9682;
  user-select: none;
}

/* ============================================ */
/* BADGES                                       */
/* ============================================ */

.status-badge,
.classification-badge {
  padding: 0.1rem 0.35rem;   /* was 0.14rem 0.45rem */
  border-radius: 999px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.accession-id-badge {
  background: rgba(134, 239, 172, 0.16);
  border-color: rgba(134, 239, 172, 0.4);
  color: #bbf7d0;
  font-family: "SF Mono", Monaco, monospace;
}

.collection-date {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.76rem;
  color: #c4d4cc;
  font-weight: 500;
  background: rgba(196, 212, 204, 0.08);
  border: 1px solid rgba(196, 212, 204, 0.15);
  padding: 0.16rem 0.5rem;  /* was 0.2rem 0.6rem */
  border-radius: 3px;
}

.collector {
  font-size: 0.74rem;
  color: #e5e9c9;
  font-weight: 500;
}

.affiliation {
  font-size: 0.74rem;
  color: #a7c1b1;
}

/* Status flavours – unchanged colours */
.status-active {
  background: #14532d;
  border-color: #22c55e;
  color: #e6f9ef;
}

.status-tier1 {
  background: #075985;
  border-color: #38bdf8;
  color: #e0f2fe;
}

.status-priority {
  background: #7f1d1d;
  border-color: #f97373;
  color: #fee2e2;
}

.classification-landrace {
  background: #064e3b;
  border-color: #22c55e;
  color: #bbf7d0;
}

.classification-population {
  background: #1e3a8a;
  border-color: #6366f1;
  color: #c7d2fe;
}

/* ============================================ */
/* SECTION LABELS + BREADCRUMBS                 */
/* ============================================ */

.header-section {
  margin-top: 0.04rem;   /* was 0.22rem */
  display: flex;
  align-items: center;
  gap: 0.16rem;          /* was 0.25rem */
  flex-wrap: wrap;
}

.section-label {
  font-family: "SF Mono", Monaco, monospace;
  font-size: 0.58rem;
  color: #8fb59b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.section-label.status {
  color: #a6c3b3;
}

.section-label.classification {
  color: #e3e7c5;
}

.geographic-breadcrumb {
  flex: 1 1 auto;
}

.breadcrumb-trail {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.75rem;
  line-height: 1.1;   /* was 1.15 */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.08rem;       /* was 0.14rem */
}

.breadcrumb-item {
  background: rgba(155, 191, 167, 0.16);
  border: 1px solid rgba(155, 191, 167, 0.32);
  color: #e6f4ec;
  font-weight: 500;
  padding: 0.04rem 0.22rem;  /* was 0.06rem 0.24rem */
  border-radius: 999px;
  text-decoration: none;
}

.breadcrumb-item a {
  color: inherit;
  text-decoration: none;
}
.breadcrumb-item a:visited {
  color: inherit;
}
.breadcrumb-item a:hover {
  text-decoration: underline;
}

.breadcrumb-item:last-child {
  background: rgba(155, 191, 167, 0.32);
  border-color: rgba(155, 191, 167, 0.6);
  color: #f4fffa;
}

.breadcrumb-separator {
  color: #6e8f7c;
  font-size: 0.7rem;
  user-select: none;
}

/* ============================================ */
/* STATUS ROW                                   */
/* ============================================ */

.status-row {
  margin-top: 0.08rem;      /* was 0.3rem */
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.3rem;              /* was 0.7rem */
  flex-wrap: wrap;
}

.status-group,
.classification-group {
  flex: 1;
  min-width: 180px;         /* was 200px */
}

.classification-group {
  text-align: right;
}

.status-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;             /* was 0.3rem */
  justify-content: flex-start;
}

.classification-group .status-badges {
  justify-content: flex-end;
}

/* ============================================ */
/* HERO SPLIT (IMAGE + MAP)                     */
/* ============================================ */

.hero-split {
  display: table;
  width: 100%;
  table-layout: fixed;
  background: #faf8f5;
  border-top: 1px solid rgba(140, 184, 156, 0.3);
}

.hero-image,
.hero-map {
  display: table-cell;
  width: 50%;
  vertical-align: top;
  height: 180px;
  position: relative;
}

/* Image */

.hero-image {
  background: #f5f3f0;
  border-right: 1px solid #d4c5b8;
  overflow: hidden;
}

.hero-image img,
.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Image caption */

.image-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.7rem 0.9rem;
  background: rgba(12, 30, 23, 0.9);
  color: #e8f0ec;
}

.image-caption {
  font-family: "SF Mono", Monaco, monospace;
  font-size: 0.76rem;
  margin: 0;
  line-height: 1.35;
}

/* Map */

.hero-map {
  background: #fdfaf6;
  border: 1px solid #e4d6c7;
}

.map-container {
  height: 178px;
  width: calc(100% - 2px);
  background: #f9f6f3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lw-map {
  width: 100% !important;
  height: 178px !important;
}

/* Map overlays */

.accession-status {
  position: absolute;
  top: 0.7rem;
  left: 0.7rem;
  max-width: 220px;
  padding: 0.5rem 0.7rem;
  background: rgba(253, 250, 246, 0.97);
  border: 1px solid #e4d6c7;
  border-radius: 3px;
  box-shadow: 0 3px 10px rgba(47, 69, 56, 0.18);
}

.accession-status-title {
  font-family: "SF Mono", Monaco, monospace;
  font-size: 0.68rem;
  text-transform: uppercase;
  color: #7b8676;
  font-weight: 600;
  margin-bottom: 0.2rem;
  letter-spacing: 0.5px;
}

.accession-status-value {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: #b91c1c;
  margin-bottom: 0.08rem;
}

.accession-status-note {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.72rem;
  color: #6b7280;
  line-height: 1.25;
}

.coordinates {
  position: absolute;
  bottom: 0.7rem;
  right: 0.7rem;
  padding: 0.45rem 0.7rem;
  background: rgba(253, 250, 246, 0.96);
  border: 1px solid #e4d6c7;
  border-radius: 999px;
  font-family: "SF Mono", Monaco, monospace;
  font-size: 0.7rem;
  font-weight: 500;
  color: #234232;
}

/* ============================================ */
/* DETAIL STRIP                                 */
/* ============================================ */

.hero-details {
  background: #234232;
  border-top: 1px solid rgba(140, 184, 156, 0.5);
  padding: 0.32rem 0.7rem;
  display: flex;
  justify-content: space-evenly;
  gap: 0.6rem;
  flex-wrap: nowrap;
  overflow-x: auto;
}

.detail-group {
  display: flex;
  flex-direction: column;
  min-width: 80px;
  max-width: 130px;
  text-align: center;
  flex-shrink: 0;
}

.detail-label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.58rem;
  color: #b7d0c0;
  font-weight: 500;
  margin-bottom: 0.14rem;
}

.detail-value {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  color: #f3faf7;
  line-height: 1.2;
}

.detail-value.highlight {
  color: #fbbf24;
}

/* ============================================ */
/* PHOTO GALLERY                                */
/* ============================================ */

.acc-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.2rem 0 1.7rem 0;
}

.acc-gallery-item {
  background: #f5f3f0;
  border: 1px solid #d4c5b8;
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.acc-gallery-img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}

.acc-gallery-caption {
  padding: 0.55rem 0.6rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.75rem;
  line-height: 1.35;
  color: #374151;
  background: #fefcf9;
}

/* ============================================ */
/* RESPONSIVE                                   */
/* ============================================ */

@media (max-width: 1024px) {
  .hero-top {
    padding: 0.45rem 0.7rem 0.5rem 0.7rem;
  }

  .acc-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .acc-gallery-img {
    height: 160px;
  }
}

@media (max-width: 768px) {
  .status-row {
    flex-direction: column;
    gap: 0.6rem;
  }

  .classification-group {
    text-align: left;
  }

  .hero-split {
    display: block;
  }

  .hero-image,
  .hero-map {
    display: block;
    width: 100%;
    height: 180px;
  }

  .map-container,
  .lw-map {
    height: 178px !important;
  }
}

@media (max-width: 640px) {
  .metadata-secondary {
    font-size: 0.7rem;
  }

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

  .acc-gallery-img {
    height: 180px;
  }
}

/* ============================================ */
/* LEAFLET CONTROLS                             */
/* ============================================ */

.leaflet-control {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.leaflet-control-layers {
  background: rgba(253, 250, 246, 0.96) !important;
  border: 1px solid #e4d6c7 !important;
  border-radius: 3px !important;
  box-shadow: 0 4px 12px rgba(47, 69, 56, 0.15) !important;
  padding: 0.75rem !important;
}

.leaflet-control-zoom {
  border: 1px solid #e4d6c7 !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 8px rgba(47, 69, 56, 0.1) !important;
}

.leaflet-control-zoom a {
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
  font-size: 16px !important;
  background: #fefcfa !important;
  color: #234232 !important;
  border: none !important;
}

.leaflet-control-zoom a:hover {
  background: #f9f6f3 !important;
  color: #0f172a !important;
}