/* Local Flag module styles - GOV.UK themed */

.local-flag-link {
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0;
  text-decoration: none;
  border: none;
  background: transparent;
  color: #19253f;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
}

@media (min-width: 40.0625em) {
  .local-flag-link {
    font-size: 19px;
    line-height: 1.31579;
  }
}

.local-flag-link .heart-icon {
  display: inline-flex;
  align-items: center;
  margin-right: 0.25em;
}

.local-flag-link .heart-icon i {
  font-size: 1em;
  transition: all 0.2s ease;
  color: #626a6e;
}

.local-flag-link:hover {
  text-decoration: underline;
  color: #19253f;
}

.local-flag-link:hover .heart-icon i {
  color: #d4351c;
}

.local-flag-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  -webkit-box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.local-flag-link:active {
  color: #0b0c0c;
}

.local-flag-link.flagged {
  color: #19253f;
}

.local-flag-link.flagged .heart-icon i {
  color: #d4351c;
}

.local-flag-link.flagged .heart-icon i.far {
  /* Switch to solid heart when flagged */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.local-flag-link.flagged .heart-icon i.fas {
  color: #d4351c;
}

.local-flag-link.unflagged .heart-icon i {
  color: #626a6e;
}

.local-flag-link.unflagged .heart-icon i.far {
  color: #626a6e;
}

.local-flag-link.flagged:hover {
  text-decoration: underline;
  color: #19253f;
}

.local-flag-link.flagged:hover .heart-icon i {
  color: #aa2a16;
}

.local-flag-link.unflagged {
  color: #19253f;
}

.local-flag-link.unflagged:hover {
  text-decoration: underline;
  color: #19253f;
}

.local-flag-link.unflagged:hover .heart-icon i {
  color: #d4351c;
}

/* Auto-appended flag links */
.local-flag-auto {
  margin-left: 1em;
  margin-top: 0.5em;
  display: inline-block;
}

/* Flag links in forms */
.local-flag-form {
  margin-bottom: 0.5em;
}

/* Block-specific styling */
.local-flag-block {
  margin: 1em 0;
  display: inline-block;
}

/* Flag fieldset */
fieldset.local-flags {
  margin-top: 1em;
  padding: 1em;
  border: 1px solid #ddd;
  border-radius: 4px;
}

fieldset.local-flags legend {
  font-weight: bold;
  padding: 0 0.5em;
}

/* Responsive adjustments */
@media (max-width: 40.0625em) {
  .local-flag-link {
    display: inline-flex;
    margin-bottom: 0.5em;
  }

  .local-flag-auto {
    margin-left: 0;
    margin-top: 1em;
  }
}

/* Accessibility improvements */
.local-flag-link[aria-pressed="true"] {
  color: #19253f;
}

.local-flag-link[aria-pressed="true"] .heart-icon i {
  color: #d4351c;
}

.local-flag-link[aria-pressed="false"] {
  color: #19253f;
}

.local-flag-link[aria-pressed="false"] .heart-icon i {
  color: #626a6e;
}

/* Style the "My Favourites" menu item with heart icon */
#block-banes8-main-menu > ul > li.menu-item--my-favourites > a,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li.menu-item--my-favourites > a {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
}

/* Add hover effect for the heart */
#block-banes8-main-menu > ul > li.menu-item--my-favourites > a:hover,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li.menu-item--my-favourites > a:hover {
  text-decoration: underline;
}

/* Active state styling */
#block-banes8-main-menu > ul > li.menu-item--my-favourites > a.is-active,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li.menu-item--my-favourites > a.is-active {
  font-weight: 600;
}

/* Mobile responsive styles */
@media (max-width: 48.0625em) {
  #block-banes8-main-menu > ul > li.menu-item--my-favourites > a,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul > li.menu-item--my-favourites > a {
    display: flex;
    width: 100%;
    padding: 0.5em 0;
    gap: 0.5em;
    font-size: 16px;
    line-height: 1.5;
  }
}

/* Tablet and desktop styles */
@media (min-width: 48.0625em) {
  #block-banes8-main-menu > ul > li.menu-item--my-favourites > a,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul > li.menu-item--my-favourites > a {
    display: inline-flex;
    gap: 0.25em;
  }
  
  /* Align "My Favourites" to the far right on desktop */
  .navigation-primary-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  
  #block-banes8-main-menu > ul > li.menu-item--my-favourites,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul > li.menu-item--my-favourites {
    margin-left: auto;
    order: 999;
  }
  
  /* Clear float after the menu */
  #block-banes8-main-menu > ul::after,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul::after {
    content: "";
    display: table;
    clear: both;
  }
}

/* Style the main menu to match bathnes.gov.uk */
#block-banes8-main-menu,
nav[role="navigation"][id="block-banes8-main-menu"] {
  position: relative;
  overflow: hidden;
  border-top: 1px solid #bfc1c3;
  margin-top: 0;
}

/* Navigation list styling to match bathnes.gov.uk */
#block-banes8-main-menu > ul,
nav[role="navigation"][id="block-banes8-main-menu"] > ul {
  overflow: hidden;
  list-style: none;
  max-width: 1020px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 0;
  padding-bottom: 0;
}

@media (min-width: 48.0625em) {
  #block-banes8-main-menu > ul,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Menu items styling to match bathnes.gov.uk */
#block-banes8-main-menu > ul > li,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li {
  display: block;
}

#block-banes8-main-menu > ul > li > a,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li > a {
  display: block;
  padding: 0.5em 0;
  text-decoration: none;
  color: #0b0c0c;
  font-size: 16px;
}

#block-banes8-main-menu > ul > li > a:hover,
#block-banes8-main-menu > ul > li > a:active,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li > a:hover,
nav[role="navigation"][id="block-banes8-main-menu"] > ul > li > a:active {
  text-decoration: underline;
}

@media (min-width: 48.0625em) {
  #block-banes8-main-menu > ul > li,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul > li {
    display: inline-block;
  }
  
  #block-banes8-main-menu > ul > li > a,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul > li > a {
    padding: 0.75em 1em;
  }
  
  #block-banes8-main-menu > ul > li:first-child > a,
  nav[role="navigation"][id="block-banes8-main-menu"] > ul > li:first-child > a {
    padding-left: 0;
  }
}

