/* HHF Normandy department history maps — isolated from property map styling */
.normandy-department-history{
  border-top:1px solid rgba(28,70,50,.12);
}
.normandy-history-map-shell{
  scroll-margin-top:92px;
  overflow:hidden;
  border:1px solid #d9cfbd;
  border-radius:15px;
  background:#fff;
  margin-top:20px;
}
.normandy-history-map{
  position:relative;
  display:block;
  width:100%;
  height:380px;
  min-height:380px;
  overflow:hidden;
  background:#ece9df;
  isolation:isolate;
}
.normandy-history-map-note{
  margin:0;
  padding:10px 14px 11px;
  border-top:1px solid #e5ddcf;
  color:#607066;
  font-size:.82rem;
  line-height:1.45;
}

/*
 * LEAFLET RESET — intentionally scoped ONLY to Normandy history maps.
 * Do not inherit HHF's generic responsive-image behaviour inside Leaflet.
 * Nothing here touches .dh-map-canvas or the property listing map files.
 */
.normandy-history-map.leaflet-container img,
.normandy-history-map.leaflet-container .leaflet-tile,
.normandy-history-map.leaflet-container .leaflet-marker-icon,
.normandy-history-map.leaflet-container .leaflet-marker-shadow{
  max-width:none !important;
  max-height:none !important;
}
.normandy-history-map.leaflet-container .leaflet-tile{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.normandy-history-map .leaflet-map-pane,
.normandy-history-map .leaflet-tile-pane,
.normandy-history-map .leaflet-overlay-pane,
.normandy-history-map .leaflet-marker-pane,
.normandy-history-map .leaflet-shadow-pane{
  position:absolute;
  inset:0 auto auto 0;
}

.hhf-history-number-wrap{
  background:transparent !important;
  border:0 !important;
}
.hhf-history-number{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:3px solid #fff;
  border-radius:50%;
  background:#285f45;
  box-shadow:0 2px 8px rgba(19,48,35,.28);
  color:#fff;
  font:700 12px/1 Arial,sans-serif;
  transition:transform .15s ease,background .15s ease;
}
.hhf-history-number.is-active{
  background:#173e2d;
  transform:scale(1.18);
}
.normandy-history-site-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.normandy-history-site-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:13px 14px;
  border:1px solid #ded3c2;
  border-radius:12px;
  background:rgba(255,253,248,.94);
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.normandy-history-site-card:hover,
.normandy-history-site-card:focus{
  outline:none;
  border-color:#2f6549;
  box-shadow:0 6px 18px rgba(26,66,47,.10);
  transform:translateY(-1px);
}
.normandy-history-site-card.is-active{
  outline:none;
  border-color:#285f45;
  background:#f1f7f3;
  box-shadow:0 0 0 2px rgba(40,95,69,.28),0 8px 22px rgba(26,66,47,.14);
  transform:translateY(-1px);
}
.normandy-history-site-card.is-active .normandy-history-card-number{
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
  background:#173e2d;
  box-shadow:0 0 0 4px rgba(40,95,69,.14);
  transform:scale(1.08);
}
.normandy-history-site-card.is-active h3{
  color:#0f3526;
}
.normandy-history-card-number{
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#285f45;
  color:#fff;
  font:700 12px/1 Arial,sans-serif;
}
.normandy-history-site-card h3{
  margin:1px 0 5px;
  color:#163e2d;
  font-size:1rem;
  line-height:1.22;
}
.normandy-history-site-card p{
  margin:0;
  color:#53645a;
  font-size:.86rem;
  line-height:1.52;
}
.normandy-history-sources{
  margin:15px 2px 0;
  color:#6b766f;
  font-size:.78rem;
  line-height:1.5;
}
.normandy-history-sources a{
  color:#285f45;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:720px){
  .normandy-history-map{height:320px;min-height:320px}
  .normandy-history-site-grid{grid-template-columns:1fr}
}

.normandy-history-site-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin-top:9px;
  padding:5px 9px;
  border:1px solid #2f6549;
  border-radius:999px;
  color:#285f45;
  background:#fff;
  font-size:.76rem;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.normandy-history-site-link:hover,
.normandy-history-site-link:focus{
  outline:none;
  color:#fff;
  background:#285f45;
  box-shadow:0 3px 10px rgba(26,66,47,.16);
}

/* 2026-08-31 — tidy history card actions + full-width intro copy */
.normandy-department-history .region-guide-heading > div{
  width:100%;
  max-width:none;
}
.normandy-department-history .section-intro{
  width:100%;
  max-width:none;
}

/* Keep the external action aligned to the bottom of each card. */
.normandy-history-site-card > div{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
.normandy-history-site-card .normandy-history-site-link{
  margin-top:auto;
  align-self:flex-start;
  position:relative;
  top:9px;
  margin-bottom:9px;
}
