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
Undo revision 1022 by Eloise Zomia (talk)
Tag: Undo
Undo revision 1597 by Eloise Zomia (talk)
Tag: Undo
 
(55 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Cleaner Hero Header - Remove frames and tighten */
/* ============================================ */
/* HERO CONTAINER – SUPER COMPACT              */
/* ============================================ */
 
.hero-header {
.hero-header {
   background: white;
   background: #0f2117;
   border-radius: 8px;
  border: 1px solid #1f3b2a;
   border-radius: 3px;
   overflow: hidden;
   overflow: hidden;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
   margin-bottom: 1.5rem;
   margin: 0.125rem 0 0.025rem;
  position: relative;
}
}


/* Tighter top section */
.hero-top {
.hero-top {
   background: #0f172a;
   background: #152a21;
   color: white;
   color: #f9fafb;
   padding: 1rem 1.5rem;
   padding: 0.18rem 0.7rem 0.2rem 0.7rem;  /* was 0.45 / 0.9 / 0.5 */
   position: relative;
  border-bottom: 1px solid rgba(140, 184, 156, 0.35);
  line-height: 1.2;
}
 
/* ============================================ */
/* TITLE + METADATA                            */
/* ============================================ */
 
.title-section {
   margin-bottom: 0.02rem;
}
}


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


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


.hero-badges {
.accession-metadata {
   position: absolute;
   display: flex;
   top: 0.75rem;
   flex-direction: column;
   right: 1rem;
  gap: 0.04rem;     /* was 0.16rem */
   margin-top: 0.02rem; /* was 0.15rem */
}
}


.hero-badge {
.metadata-primary {
   padding: 0.1rem 0.3rem;
   display: flex;
   border-radius: 4px;
   align-items: center;
   font-size: 0.5rem;
   gap: 0.35rem;     /* was 0.5rem */
  font-weight: bold;
   flex-wrap: wrap;
  text-transform: uppercase;
  margin-bottom: 0.1rem;
  display: block;
   min-width: 50px;
  text-align: center;
}
}


/* Remove frames from split section */
.metadata-secondary {
.hero-split {
   display: flex;
   display: table;
  align-items: center;
   width: 100%;
  gap: 0.2rem;     /* was 0.35rem */
   table-layout: fixed;
   flex-wrap: wrap;
   background: #fafafa;
   font-size: 0.74rem;
   color: #c4d4cc;
}
}


.hero-image, .hero-map {
.separator {
   display: table-cell;
   color: #7a9682;
  width: 50%;
   user-select: none;
   vertical-align: top;
  height: 350px;
  position: relative;
}
}


.hero-image {
/* ============================================ */
  background: #f5f5f5;
/* BADGES                                      */
}
/* ============================================ */


.hero-image img {
.status-badge,
   width: 100%;
.classification-badge {
   height: 350px;
   padding: 0.1rem 0.35rem;   /* was 0.14rem 0.45rem */
   object-fit: cover;
   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;
}
}


/* Cleaner placeholder */
.accession-id-badge {
.photo-placeholder {
   background: rgba(134, 239, 172, 0.16);
   height: 350px;
   border-color: rgba(134, 239, 172, 0.4);
   background: #f9f9f9;
   color: #bbf7d0;
   display: table;
   font-family: "SF Mono", Monaco, monospace;
   width: 100%;
}
}


.placeholder-content {
.collection-date {
   display: table-cell;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   vertical-align: middle;
   font-size: 0.76rem;
   text-align: center;
   color: #c4d4cc;
   padding: 1.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;
}
}


.placeholder-icon {
.collector {
   font-size: 2.5rem;
   font-size: 0.74rem;
   color: #a0a0a0;
   color: #e5e9c9;
   margin-bottom: 0.75rem;
   font-weight: 500;
  display: block;
}
}


.placeholder-title {
.affiliation {
   font-size: 1rem;
   font-size: 0.74rem;
   color: #333;
   color: #a7c1b1;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
}


.placeholder-subtitle {
/* Status flavours – unchanged colours */
   font-size: 0.8rem;
.status-active {
   color: #666;
   background: #14532d;
   line-height: 1.3;
   border-color: #22c55e;
  max-width: 250px;
   color: #e6f9ef;
  margin: 0 auto 0.75rem;
}
}


.placeholder-instruction {
.status-tier1 {
   font-size: 0.65rem;
   background: #075985;
  color: #999;
   border-color: #38bdf8;
  background: white;
   color: #e0f2fe;
  padding: 0.5rem;
   border-radius: 4px;
   max-width: 220px;
  margin: 0 auto;
}
}


/* Minimal image overlay */
.status-priority {
.image-overlay {
   background: #7f1d1d;
  position: absolute;
   border-color: #f97373;
  bottom: 0;
   color: #fee2e2;
  left: 0;
  right: 0;
   background: rgba(0, 0, 0, 0.5);
   color: white;
   padding: 0.5rem 0.75rem 0.25rem;
}
}


.image-caption {
.classification-landrace {
   font-size: 0.7rem;
   background: #064e3b;
   margin: 0;
   border-color: #22c55e;
   line-height: 1.1;
   color: #bbf7d0;
}
}


/* Clean map section */
.classification-population {
.hero-map {
   background: #1e3a8a;
   background: #fafafa;
  border-color: #6366f1;
  color: #c7d2fe;
}
}


.map-container {
/* ============================================ */
  height: 350px;
/* SECTION LABELS + BREADCRUMBS                */
  background: #eeeeee;
/* ============================================ */
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  color: #777;
  font-size: 0.8rem;
}


/* Smaller, cleaner overlays */
.header-section {
.map-overlay {
   margin-top: 0.04rem/* was 0.22rem */
   position: absolute;
   display: flex;
  top: 0.75rem;
   align-items: center;
   left: 0.75rem;
   gap: 0.16rem;         /* was 0.25rem */
   background: white;
   flex-wrap: wrap;
   border-radius: 4px;
   padding: 0.75rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   max-width: 160px;
}
}


.map-overlay h4 {
.section-label {
   margin: 0 0 0.25rem 0;
   font-family: "SF Mono", Monaco, monospace;
   font-size: 0.6rem;
   font-size: 0.58rem;
  color: #8fb59b;
   text-transform: uppercase;
   text-transform: uppercase;
   color: #666;
   letter-spacing: 0.5px;
   font-weight: bold;
   white-space: nowrap;
}
}


.location-primary {
.section-label.status {
  font-weight: bold;
   color: #a6c3b3;
   color: #333;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
}
}


.location-secondary {
.section-label.classification {
   color: #666;
   color: #e3e7c5;
  font-size: 0.65rem;
}
}


.coordinates {
.geographic-breadcrumb {
   position: absolute;
   flex: 1 1 auto;
  bottom: 0.5rem;
  right: 0.5rem;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  padding: 0.2rem 0.35rem;
  border-radius: 2px;
  font-family: monospace;
  font-size: 0.55rem;
  line-height: 1;
}
}


/* Cleaner details section */
.breadcrumb-trail {
.hero-details {
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   background: white;
   font-size: 0.75rem;
   padding: 1rem 1.5rem;
  line-height: 1.1;  /* was 1.15 */
   text-align: center;
  display: flex;
   align-items: center;
  flex-wrap: wrap;
  gap: 0.08rem;      /* was 0.14rem */
}
}


.detail-group {
.breadcrumb-item {
   display: inline-block;
   background: rgba(155, 191, 167, 0.16);
   margin: 0 1rem 0.75rem 0;
  border: 1px solid rgba(155, 191, 167, 0.32);
   min-width: 100px;
  color: #e6f4ec;
   vertical-align: top;
  font-weight: 500;
   padding: 0.04rem 0.22rem;  /* was 0.06rem 0.24rem */
   border-radius: 999px;
   text-decoration: none;
}
}


.detail-label {
.breadcrumb-item a {
   font-size: 0.6rem;
   color: inherit;
   text-transform: uppercase;
   text-decoration: none;
  color: #777;
}
  font-weight: bold;
.breadcrumb-item a:visited {
   margin-bottom: 0.25rem;
   color: inherit;
}
}
 
.breadcrumb-item a:hover {
.detail-value {
   text-decoration: underline;
   font-size: 0.85rem;
  font-weight: bold;
  color: #333;
  line-height: 1.1;
}
}


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


.geographic-path {
.breadcrumb-separator {
   width: 100%;
   color: #6e8f7c;
  padding-top: 0.75rem;
   font-size: 0.7rem;
  border-top: 1px solid #eee;
   user-select: none;
   margin-top: 0.75rem;
   text-align: center;
}
}


.geographic-path h4 {
/* ============================================ */
  margin: 0 0 0.25rem 0;
/* STATUS ROW                                  */
  font-size: 0.6rem;
/* ============================================ */
  text-transform: uppercase;
  color: #777;
  font-weight: bold;
}


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


.breadcrumb .separator {
.status-group,
   color: #aaa;
.classification-group {
   margin: 0 0.35rem;
   flex: 1;
   min-width: 180px;         /* was 200px */
}
}


.breadcrumb .level {
.classification-group {
   color: #059669;
   text-align: right;
  font-weight: bold;
}
}


.badge-active {
.status-badges {
   background: #16a34a;
   display: flex;
   color: white;
   flex-wrap: wrap;
  gap: 0.18rem;            /* was 0.3rem */
  justify-content: flex-start;
}
}


.badge-tier1 {
.classification-group .status-badges {
   background: #2563eb;
   justify-content: flex-end;
  color: white;
}
}


.badge-priority {
/* ============================================ */
  background: #dc2626;
/* HERO SPLIT (IMAGE + MAP)                    */
  color: white;
/* ============================================ */
}


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


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


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


.hero-image img {
.hero-image img,
.hero-photo {
   width: 100%;
   width: 100%;
   height: 400px;
   height: 100%;
   object-fit: cover;
   object-fit: cover;
}
/* Placeholder */
.photo-placeholder {
  height: 400px;
  background: #f8fafc;
  display: table;
  width: 100%;
}
.placeholder-content {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 2rem;
}
.placeholder-icon {
  font-size: 3rem;
  color: #94a3b8;
  margin-bottom: 1rem;
   display: block;
   display: block;
}
}


.placeholder-title {
/* Image caption */
  font-size: 1.2rem;
  color: #334155;
  font-weight: bold;
  margin-bottom: 0.75rem;
}


.placeholder-subtitle {
  font-size: 0.9rem;
  color: #64748b;
  line-height: 1.4;
  max-width: 280px;
  margin: 0 auto 1rem;
}
.placeholder-instruction {
  font-size: 0.8rem;
  color: #94a3b8;
  background: white;
  padding: 0.75rem;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  max-width: 260px;
  margin: 0 auto;
}
/* Image overlay - tightened */
.image-overlay {
.image-overlay {
   position: absolute;
   position: absolute;
  bottom: 0;
   left: 0;
   left: 0;
   right: 0;
   right: 0;
   background: rgba(0, 0, 0, 0.6);
  bottom: 0;
   color: white;
  padding: 0.7rem 0.9rem;
  padding: 0.75rem 1rem 0.5rem;
   background: rgba(12, 30, 23, 0.9);
   color: #e8f0ec;
}
}


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


/* Map section */
/* Map */
 
.hero-map {
.hero-map {
   background: #f8fafc;
   background: #fdfaf6;
  border: 1px solid #e4d6c7;
}
}


.map-container {
.map-container {
   height: 400px;
   height: 178px;
   background: #e2e8f0;
  width: calc(100% - 2px);
   display: table-cell;
   background: #f9f6f3;
   vertical-align: middle;
   display: flex;
   text-align: center;
   align-items: center;
   color: #64748b;
   justify-content: center;
   font-size: 0.9rem;
   position: relative;
   font-weight: bold;
}
 
.lw-map {
   width: 100% !important;
   height: 178px !important;
}
}


.map-overlay {
/* Map overlays */
 
.accession-status {
   position: absolute;
   position: absolute;
   top: 1rem;
   top: 0.7rem;
   left: 1rem;
   left: 0.7rem;
   background: white;
   max-width: 220px;
  border-radius: 8px;
   padding: 0.5rem 0.7rem;
   padding: 1rem;
   background: rgba(253, 250, 246, 0.97);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
   border: 1px solid #e4d6c7;
   max-width: 200px;
  border-radius: 3px;
   border: 1px solid #e2e8f0;
   box-shadow: 0 3px 10px rgba(47, 69, 56, 0.18);
}
}


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


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


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


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


/* Details section */
/* ============================================ */
/* DETAIL STRIP                                */
/* ============================================ */
 
.hero-details {
.hero-details {
   background: white;
   background: #234232;
   border-top: 2px solid #334155;
   border-top: 1px solid rgba(140, 184, 156, 0.5);
   padding: 1.5rem 2rem;
   padding: 0.32rem 0.7rem;
   text-align: center;
  display: flex;
  justify-content: space-evenly;
  gap: 0.6rem;
  flex-wrap: nowrap;
   overflow-x: auto;
}
}


.detail-group {
.detail-group {
   display: inline-block;
   display: flex;
   margin: 0 1.5rem 1rem 0;
  flex-direction: column;
   min-width: 120px;
   min-width: 80px;
   vertical-align: top;
   max-width: 130px;
   text-align: center;
  flex-shrink: 0;
}
}


.detail-label {
.detail-label {
   font-size: 0.75rem;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   text-transform: uppercase;
   font-size: 0.58rem;
   color: #64748b;
   color: #b7d0c0;
   font-weight: bold;
   font-weight: 500;
   margin-bottom: 0.5rem;
   margin-bottom: 0.14rem;
}
}


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


.detail-value.highlight {
.detail-value.highlight {
   color: #059669;
   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;
}
}


.geographic-path {
.acc-gallery-item {
  background: #f5f3f0;
  border: 1px solid #d4c5b8;
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
 
.acc-gallery-img {
   width: 100%;
   width: 100%;
   padding-top: 1rem;
   height: 150px;
   border-top: 1px solid #e2e8f0;
   object-fit: cover;
   margin-top: 1rem;
   display: block;
  text-align: center;
}
}


.geographic-path h4 {
.acc-gallery-caption {
   margin: 0 0 0.5rem 0;
   padding: 0.55rem 0.6rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
   font-size: 0.75rem;
   font-size: 0.75rem;
   text-transform: uppercase;
   line-height: 1.35;
   color: #64748b;
   color: #374151;
   font-weight: bold;
   background: #fefcf9;
}
}


.breadcrumb {
/* ============================================ */
   font-size: 0.9rem;
/* RESPONSIVE                                  */
   color: #374151;
/* ============================================ */
}
 
@media (max-width: 1024px) {
   .hero-top {
    padding: 0.45rem 0.7rem 0.5rem 0.7rem;
   }


.breadcrumb .separator {
  .acc-gallery {
  color: #9ca3af;
    grid-template-columns: repeat(2, minmax(0, 1fr));
   margin: 0 0.5rem;
   }
}


.breadcrumb .level {
  .acc-gallery-img {
  color: #059669;
    height: 160px;
   font-weight: bold;
   }
}
}


/* Mobile */
@media (max-width: 768px) {
@media (max-width: 768px) {
  .status-row {
    flex-direction: column;
    gap: 0.6rem;
  }
  .classification-group {
    text-align: left;
  }
   .hero-split {
   .hero-split {
     display: block;
     display: block;
   }
   }
 
 
   .hero-image, .hero-map {
   .hero-image,
  .hero-map {
     display: block;
     display: block;
     width: 100%;
     width: 100%;
     height: 300px;
     height: 180px;
   }
   }
    
 
   .hero-map {
   .map-container,
     border-right: none;
   .lw-map {
    border-top: 1px solid #e2e8f0;
     height: 178px !important;
   }
   }
 
}
   .photo-placeholder {
 
     height: 300px;
@media (max-width: 640px) {
   .metadata-secondary {
     font-size: 0.7rem;
   }
   }
 
 
   .map-container {
   .acc-gallery {
     height: 300px;
     grid-template-columns: 1fr;
   }
   }
 
 
  .hero-badges {
   .acc-gallery-img {
    position: static;
     height: 180px;
    margin-top: 1rem;
  }
 
  .hero-badge {
    margin: 0 0.5rem 0.5rem 0;
  }
 
   .hero-top {
    padding: 1.5rem;
  }
 
  .hero-details {
     padding: 1rem 1.5rem;
   }
   }
}
/* ============================================ */
/* 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;
}