/* ===========================
   TAGLINE & HEADINGS
   =========================== */

/* Tagline (Plymouth and Exeter Ultrasound Guided injections) */
.site-description,
header .site-description,
.site-branding .site-description,
.site-description p,
.site-description h2 {
  color: #A0C0CB !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 20px !important;
  line-height: 1.4em !important;
  text-align: center !important;
}

/* Larger tagline under site name */
.site-description,
.site-branding .site-description,
header .site-description {
  color: #A9A9A9 !important;
  font-size: 24px !important;
}

/* Page/site titles & all headings */
.entry-title,
.page-title,
.wp-block-post-title,
h1, h2, h3, h4, h5, h6 {
  color: #5192A8 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 300 !important;
  font-style: normal !important;
  text-align: left !important;
  margin-left: 0 !important;
}

/* ===========================
   MAIN & SECONDARY MENUS
   =========================== */

/* Main navigation menu */
.main-navigation a,
#site-navigation a,
.primary-menu a {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  color: #5192A8 !important;
  text-transform: none !important;
  text-align: center !important;
  transition: color 0.15s ease-in-out;
  text-decoration: none !important; /* ensure no underline by default */
}

/* Hover / focus (primary + secondary) */
#site-navigation ul#primary-menu > li > a:hover,
#site-navigation ul#primary-menu > li > a:focus,
#site-navigation ul.sub-menu > li > a:hover,
#site-navigation ul.sub-menu > li > a:focus {
  color: #1F3A8A !important; /* dark blue */
  text-decoration: none !important; /* keep consistent: no underline */
}

/* Active/current page item (top-level) */
.main-navigation .current-menu-item > a,
#site-navigation .current-menu-item > a,
.primary-menu .current-menu-item > a {
  color: #5192A8 !important;
}

/* Secondary / dropdown menu font size */
#site-navigation ul.sub-menu a,
.main-navigation ul.sub-menu a,
.primary-menu ul.sub-menu a,
#site-navigation .sub-menu a,
.main-navigation .sub-menu a,
.primary-menu .sub-menu a {
  font-size: 14px !important;
  line-height: 1.4em !important;
}

/* Remove ALL menu separator dots */
.main-navigation .menu-item::before,
#site-navigation .menu-item::before,
.primary-menu .menu-item::before,
.main-navigation ul li::before,
#site-navigation ul li::before,
.site-navigation ul li::before,
.nav-menu li::before,
.nav-menu > li::before,
.primary-menu li::before,
.primary-menu > li::before,
.main-navigation .menu-item > a::before,
.main-navigation .menu-item::after,
.main-navigation .menu-item > a::after,
#site-navigation .menu-item > a::before,
#site-navigation .menu-item::after,
#site-navigation .menu-item > a::after,
.primary-menu .menu-item > a::before,
.primary-menu .menu-item::after,
.primary-menu .menu-item > a::after {
  content: "" !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

/* Ensure no bullets */
.main-navigation ul,
#site-navigation ul,
.primary-menu,
.main-navigation li,
#site-navigation li,
.primary-menu li {
  list-style: none !important;
}

/* ===========================
   LAYOUT & IMAGES
   =========================== */

/* Make the first image on the page full width */
.entry-content > p:first-of-type img,
.entry-content > figure.wp-block-image:first-of-type img {
  width: 100vw !important;
  max-width: 100vw !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Remove content padding */
.entry-content,
.site-content,
.wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Remove boxed layout */
.wrapper,
.site-content {
  max-width: 100% !important;
}

/* Hide footer */
#colophon,
.site-footer,
.site-info,
footer {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ===========================
   JOIN/LOGIN MENU ITEMS
   - Remove special small font sizing
   - Remove underline-only-on-hover behaviour
   =========================== */

/* Let join/login inherit the normal menu size */
#site-navigation .menu-login > a,
#site-navigation .menu-register > a,
#site-navigation .menu-join > a {
  font-size: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
}

/* Do NOT underline join/login only */
#site-navigation .menu-login > a:hover,
#site-navigation .menu-register > a:hover,
#site-navigation .menu-join > a:hover {
  text-decoration: none !important;
}

/* ===========================
   JOIN PAGE BUTTON (optional)
   =========================== */
.join-page-btn {
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #5192A8;
  border: 2px solid #5192A8;
  background: #ffffff;
  padding: 10px 28px;
  border-radius: 999px;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.join-page-btn:hover {
  background: rgba(81,146,168,0.08);
  color: #407689;
  border-color: #407689;
}

/* ===========================
   FORMINTOR SUBMIT BUTTON
   =========================== */
form.forminator-custom-form .forminator-button-submit,
.forminator-ui .forminator-button-submit {
  background: #ffffff !important;
  color: #5192A8 !important;
  border: 1px solid #5192A8 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  padding: 4px 16px !important;
  border-radius: 999px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  min-width: auto !important;
  cursor: pointer !important;
}
form.forminator-custom-form .forminator-button-submit:hover,
.forminator-ui .forminator-button-submit:hover {
  background: rgba(81,146,168,0.1) !important;
  color: #407689 !important;
  border-color: #407689 !important;
}

/* ===========================
   Hide JOIN when logged in
   =========================== */
body.logged-in #primary-menu a[href*="wpmem_form-login"]{
  display: none !important;
}

/* ===========================
   DESKTOP MENU LAYOUT (Button 2)
   - keep top-level in one line
   - keep centered
   =========================== */

/* Center the whole primary menu block */
#site-navigation .menu-primary-container {
  display: flex !important;
  justify-content: center !important;
}

/* Top-level menu single line (desktop only) */
@media (min-width: 783px){
  #site-navigation .menu-primary-container > ul#primary-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    align-items: center !important;
  }

  /* Tighten spacing just for the TOP level */
  #site-navigation .menu-primary-container > ul#primary-menu > li > a {
    white-space: nowrap !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 16px !important;
  }
}

/* ===========================
   BUTTON / PILL STYLE REMOVAL
   =========================== */
a.wp-element-button,
.wp-element-button,
.wp-block-button__link,
.wp-block-buttons .wp-block-button__link,
.is-style-outline .wp-block-button__link,
.is-style-fill .wp-block-button__link,
a.button,
.button,
.more-link,
a[class*="button"],
a[class*="btn"],
a[class*="pill"] {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: inherit !important;
  display: inline !important;
  text-decoration: underline !important;
  color: #5192A8 !important;
}
a.wp-element-button::before,
a.wp-element-button::after,
.wp-block-button__link::before,
.wp-block-button__link::after,
a.button::before,
a.button::after,
.button::before,
.button::after,
a[class*="button"]::before,
a[class*="button"]::after,
a[class*="btn"]::before,
a[class*="btn"]::after,
a[class*="pill"]::before,
a[class*="pill"]::after {
  content: none !important;
  display: none !important;
}
a.wp-element-button:hover,
.wp-block-button__link:hover,
a.button:hover,
.more-link:hover,
a[class*="button"]:hover,
a[class*="btn"]:hover,
a[class*="pill"]:hover {
  background: transparent !important;
  text-decoration: underline !important;
  color: #407689 !important;
}
.wp-block-button,
.wp-block-buttons,
.is-style-outline,
.is-style-fill {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ===========================
   WP-MEMBERS (Join / Log in) – match site style
   =========================== */
#wpmem_reg, #wpmem_login, .wpmem_form, .wpmem_login, .wpmem_reg {
  font-family: 'Poppins', sans-serif !important;
  color: #191919 !important;
}
#wpmem_reg legend, #wpmem_login legend,
.wpmem_form legend {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 300 !important;
  color: #5192A8 !important;
  font-size: 22px !important;
  margin-bottom: 12px !important;
}
#wpmem_reg label, #wpmem_login label,
.wpmem_form label {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  color: #5192A8 !important;
  font-size: 14px !important;
}
#wpmem_reg .req, #wpmem_login .req,
.wpmem_form .req,
#wpmem_reg .div_text, #wpmem_login .div_text,
.wpmem_form .div_text,
#wpmem_reg .wpmem_msg, #wpmem_login .wpmem_msg,
.wpmem_msg {
  color: #A9A9A9 !important;
  font-family: 'Poppins', sans-serif !important;
}
#wpmem_reg input[type="text"],
#wpmem_reg input[type="email"],
#wpmem_reg input[type="password"],
#wpmem_login input[type="text"],
#wpmem_login input[type="email"],
#wpmem_login input[type="password"],
.wpmem_form input[type="text"],
.wpmem_form input[type="email"],
.wpmem_form input[type="password"],
.wpmem_form select,
.wpmem_form textarea {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  border: 1px solid rgba(81,146,168,0.45) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  max-width: 520px !important;
}
#wpmem_reg input:focus,
#wpmem_login input:focus,
.wpmem_form input:focus,
.wpmem_form select:focus,
.wpmem_form textarea:focus {
  border-color: #5192A8 !important;
  box-shadow: 0 0 0 3px rgba(81,146,168,0.15) !important;
}
#wpmem_reg input[type="submit"],
#wpmem_login input[type="submit"],
.wpmem_form input[type="submit"],
#wpmem_reg button,
#wpmem_login button,
.wpmem_form button {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  background: #ffffff !important;
  color: #5192A8 !important;
  border: 2px solid #5192A8 !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  text-transform: none !important;
  cursor: pointer !important;
}
#wpmem_reg input[type="submit"]:hover,
#wpmem_login input[type="submit"]:hover,
.wpmem_form input[type="submit"]:hover,
#wpmem_reg button:hover,
#wpmem_login button:hover,
.wpmem_form button:hover {
  background: rgba(81,146,168,0.08) !important;
  color: #407689 !important;
  border-color: #407689 !important;
}
#wpmem_reg a, #wpmem_login a, .wpmem_form a {
  color: #5192A8 !important;
  text-decoration: underline !important;
}
#wpmem_reg a:hover, #wpmem_login a:hover, .wpmem_form a:hover {
  color: #407689 !important;
}
.wpmem_msg, .wpmem_err, .wpmem_error {
  font-family: 'Poppins', sans-serif !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  margin: 12px 0 !important;
}
.wpmem_err, .wpmem_error {
  border: 1px solid rgba(207,46,46,0.35) !important;
  background: rgba(207,46,46,0.08) !important;
  color: #191919 !important;
}
.wpmem_msg {
  border: 1px solid rgba(81,146,168,0.35) !important;
  background: rgba(81,146,168,0.08) !important;
  color: #191919 !important;
}

/* ======================================================
   FINAL MENU FIX (Button 2)
   ====================================================== */

/* Hide ALL sub-menus by default */
#site-navigation ul.sub-menu{
  display: none !important;
}

/* Desktop: show dropdown on hover/focus */
@media (min-width: 783px){
  #site-navigation li.menu-item-has-children:hover > ul.sub-menu,
  #site-navigation li.menu-item-has-children:focus-within > ul.sub-menu{
    display: block !important;
  }

  /* Dropdown layout: normal vertical list */
  #site-navigation ul.sub-menu > li{
    display: block !important;
  }
  #site-navigation ul.sub-menu > li > a{
    display: block !important;
    white-space: nowrap !important;
  }
}

/* Mobile: restore Button 2 "Menu" toggle behaviour */
@media (max-width: 782px){

  /* Hide menu until Menu button is tapped */
  #site-navigation .menu-primary-container > ul,
  #site-navigation ul#primary-menu{
    display: none !important;
    width: 100% !important;
  }

  /* Button 2 adds .toggled to nav when tapped */
  #site-navigation.toggled .menu-primary-container > ul,
  #site-navigation.toggled ul#primary-menu{
    display: block !important;
  }

  /* Make top-level stacked rows on mobile */
  #site-navigation ul#primary-menu > li{
    display: block !important;
    width: 100% !important;
  }
  #site-navigation ul#primary-menu > li > a{
    padding: 10px 14px !important;
    text-align: left !important;
  }

  /* Mobile dropdown opens only after tap (theme adds .focus) */
  #site-navigation li.focus > ul.sub-menu{
    display: block !important;
  }
}

/* Mobile: when menu is CLOSED, force all dropdowns shut */
@media (max-width: 782px){
  #site-navigation:not(.toggled) .sub-menu{
    display: none !important;
  }
  #site-navigation:not(.toggled) li.focus > .sub-menu{
    display: none !important;
  }
}

/* ======================================================
   PATIENT AREA – CLICKABLE CARDS
   ====================================================== */

.patient-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.patient-card {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 120px;
  padding: 20px;

  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-align: center;

  color: #5192A8 !important;
  text-decoration: none !important;

  background: #ffffff;
  border: 2px solid rgba(81,146,168,0.35);
  border-radius: 18px;

  transition: all 0.2s ease-in-out;
}

.patient-card:hover,
.patient-card:focus {
  background: rgba(81,146,168,0.08);
  border-color: #407689;
  color: #407689 !important;
  transform: translateY(-2px);
}

@media (max-width: 782px){
  .patient-card {
    min-height: 100px;
    font-size: 15px;
    padding: 16px;
  }
}

/* ======================================================
   REMOVE WP-MEMBERS TEXT LINKS (Edit / Password)
   - NO :has() (more compatible)
   ====================================================== */

/* Hide the links themselves wherever they appear */
a[href*="/log-in/?a=edit"],
a[href*="/log-in/?a=pwd"]{
  display: none !important;
}

/* ======================================================
   MENU TOGGLE (uses menu item CSS classes)
   ====================================================== */

/* LOGGED OUT: hide Patient Area + Log out */
body:not(.logged-in) #primary-menu .menu-patient,
body:not(.logged-in) #primary-menu .menu-logout {
  display: none !important;
}

/* LOGGED IN: hide Join + Log in */
body.logged-in #primary-menu .menu-join,
body.logged-in #primary-menu .menu-login {
  display: none !important;
}

/* LOGGED IN: explicitly show Patient Area + Log out */
body.logged-in #primary-menu .menu-patient,
body.logged-in #primary-menu .menu-logout {
  display: inline-block !important;
}

/* Join page: hide password field + everything after it (your rule) */
body.page-join input[type="password"] {
  display: none !important;
}
body.page-join input[type="password"] ~ * {
  display: none !important;
}

/* Join page (page-id-8308): hide the injected WP-Members login box */
body.page-id-8308 #wpmem_login,
body.page-id-8308 #wpmem_login_form {
  display: none !important;
}

/* hide the H1 page title */
body.page-id-8308 .post-8308 .entry-header {
  display: none !important;
}

/* hide the Elementor "Join" heading widget + everything after message */
body.page-id-8308 .elementor-shortcode .wpmem_msg ~ * ,
body.page-id-8308 .elementor-8308 h3.elementor-heading-title {
  display: none !important;
}

/* Hide WooCommerce cart summary in the header/nav */
#site-header-cart,
.site-header-cart,
.site-header-cart * {
  display: none !important;
}

/* Hide any header cart container */
.site-header-cart,
#site-header-cart {
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ======================================================
   PRIMARY MENU – hover underline (clean + consistent)
   ====================================================== */

/* Remove text underline everywhere */
#site-navigation ul#primary-menu > li > a{
  text-decoration: none !important;
  position: relative;
}

/* Create underline using border-bottom */
#site-navigation ul#primary-menu > li > a::after{
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -4px;
  height: 2px;
  background-color: transparent;
  transition: background-color 0.15s ease-in-out;
}

/* Hover / focus state */
#site-navigation ul#primary-menu > li > a:hover::after,
#site-navigation ul#primary-menu > li > a:focus::after{
  background-color: #1F3A8A; /* dark blue */
}

/* ======================================================
   JOIN / LOGIN – MOBILE SIZE FIX + REVERSED COLOURS
   Place this at the VERY END of your Custom CSS
   ====================================================== */

/* 1) Mobile: force Join/Login to match primary menu size */
@media (max-width: 782px){

  /* Make ALL primary menu items consistent size on mobile */
  #site-navigation ul#primary-menu > li > a{
    font-size: 16px !important;
    line-height: 1.4em !important;
  }

  /* Specifically ensure Join/Login cannot drop to submenu sizing */
  #site-navigation ul#primary-menu > li.menu-login > a,
  #site-navigation ul#primary-menu > li.menu-join > a,
  #site-navigation ul#primary-menu > li.menu-register > a{
    font-size: 16px !important;
    line-height: 1.4em !important;
  }
}

/* 2) Reverse colour styling for Join/Login (stand out by default) */
#site-navigation ul#primary-menu > li.menu-login > a,
#site-navigation ul#primary-menu > li.menu-join > a,
#site-navigation ul#primary-menu > li.menu-register > a{
  color: #1F3A8A !important;            /* dark blue default */
  text-decoration: none !important;
}

/* Hover/focus = light blue */
#site-navigation ul#primary-menu > li.menu-login > a:hover,
#site-navigation ul#primary-menu > li.menu-join > a:hover,
#site-navigation ul#primary-menu > li.menu-register > a:hover,
#site-navigation ul#primary-menu > li.menu-login > a:focus,
#site-navigation ul#primary-menu > li.menu-join > a:focus,
#site-navigation ul#primary-menu > li.menu-register > a:focus{
  color: #A0C0CB !important;            /* light blue hover */
}

/* 3) Underline rule: make sure Join/Login underline follows the same hover behaviour */
#site-navigation ul#primary-menu > li.menu-login > a::after,
#site-navigation ul#primary-menu > li.menu-join > a::after,
#site-navigation ul#primary-menu > li.menu-register > a::after{
  background-color: transparent !important; /* no underline at rest */
}

/* underline only on hover/focus (same as your menu) */
#site-navigation ul#primary-menu > li.menu-login > a:hover::after,
#site-navigation ul#primary-menu > li.menu-join > a:hover::after,
#site-navigation ul#primary-menu > li.menu-register > a:hover::after,
#site-navigation ul#primary-menu > li.menu-login > a:focus::after,
#site-navigation ul#primary-menu > li.menu-join > a:focus::after,
#site-navigation ul#primary-menu > li.menu-register > a:focus::after{
  background-color: #A0C0CB !important; /* light blue underline on hover */
}

/* WP-Members: hide Username label + the next div that holds the input */
#wpmem_register_form label[for="username"] {
  display: none !important;
}
#wpmem_register_form label[for="username"] + .div_text {
  display: none !important;
}

/* WP-Members Login: change "Username or Email" to "Email address" */
#wpmem_login_form label[for="username"] {
  font-size: 0;
}

#wpmem_login_form label[for="username"]::after {
  content: "Email address";
  font-size: 14px;
  font-weight: 500;
}