:root {
  --deep-navy: #0d1b2e;
  --dark-teal: #1a3d3d;
  --muted-mint: #8fbfb8;
  --off-white: #f2f7f7;
}

.jm-dialog-modal {
  background-color: transparent !important;
}

.jm-dialog-modal.jm-dashboard__overlay > .jm-dialog-modal-container, .jm-dialog-modal.jm-dashboard__overlay .jm-dialog-modal-container:has(> .jm-dialog-modal-content > .jm-job-overlay.jm-dashboard) {
  margin: 0 auto;
}

.vu-header.vu-header--sticky {
  background: rgba(7, 29, 61, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(7, 29, 61, 0.18);
  transform: translateY(-100%);
  padding: 20px 30px !important;
}



.vu-header.sticky {
	position: fixed;
	top: 0;
	left: -30px;
	width: 100%;
	z-index: 9999;
}


.sticky {
opacity: 0;
transform: translateY(-30px); animation: stickyFadeDown 0.6s ease forwards; animation-delay: 0.4s;
}

@keyframes stickyFadeDown {
from {
opacity: 0;
transform: translateY(-30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
  background: linear-gradient(135deg,rgb(7,29,61) 1%,rgb(0,76,76) 100%);
}

.vu-hero-cover::after {
  content: "";
  position: absolute;
  right: -13%;
  top: 80%;
  width: 85%;
  aspect-ratio: 1 / 1;
  transform: translateY(-49%) rotate(-30deg);
  background-image: url("https://devworkdev.wpenginepowered.com/wp-content/uploads/2026/05/Logo.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.06;
  z-index: 1;
  pointer-events: none;
}

#vets-add-gallery-image {margin-top: 15px;}

.logo-hero {opacity: 0.08;
  position: absolute;
  right: -100px;
  bottom: -26%;
  width: 1080px;
  transform: rotate(-30deg);}

.vu-hero-cover {
  max-width: calc(100% - 60px);
  margin: 30px auto 14px;
  border-radius: 28px;
  overflow: hidden;
  min-height: 760px !important;
  padding: 0 !important;
  background-position: top right;
  position: relative;
}

.vu-hero-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background1: linear-gradient(
    90deg,
    rgba(7, 29, 61, 0.96) 0%,
    rgba(0, 76, 76, 0.58) 50%,
    rgba(26, 61, 61, 0.12) 100%
  );
  background: linear-gradient(135deg,rgb(7,29,61) 1%,rgb(0,76,76) 100%);
  z-index: 1;
}

.vu-hero-cover .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.vu-hero-content {
  max-width: 760px;
  padding: 170px 0 80px 50px;
  margin: 0 !important;
}

.vu-hero-title {
  color: var(--off-white);
  font-size: clamp(82px, 8vw, 90px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.055em !important;
  text-transform: uppercase;
  margin: 0 0 34px !important;
  font-weight: 700;
}

.mint {
  color: var(--muted-mint);
}

.vu-intro {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-left: 10px;
  max-width: 430px;
  color: var(--off-white);
}

.vu-intro-line {
  width: 88px !important;
  height: 1px;
  background: rgba(242, 247, 247, 0.55);
  margin: 13px 0 0 !important;
  border: 0;
  flex: 0 0 88px;
}

.vu-intro p {
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--off-white);
}

.vu-hero-buttons {
  margin-top: 60px !important;
  gap: 15px;
}

/* Remove Gutenberg button styling */
.vu-main-cta {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vu-main-cta .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 14px;

  padding: 8px 10px 8px 20px !important;

  background: transparent !important;
  color: var(--off-white) !important;

  border-radius: 999px !important;
  border: 1px solid rgba(242, 247, 247, 0.8) !important;

  font-size: 22px;
  font-weight: 700;
  text-decoration: none;

  box-shadow: none !important;
  outline: none !important;

  transition: all .2s ease;
}

.vu-main-cta .wp-block-button__link:hover {
  background: rgba(242,247,247,.08) !important;
  transform: translateY(-2px);
}

.vu-main-cta .wp-block-button__link::after {
  content: "↗";

  width: 38px;
  height: 38px;
  min-width: 38px;

  display: grid;
  place-items: center;

  border-radius: 999px;

  background: var(--muted-mint);
  color: var(--dark-teal);

  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

/* Remove any extra Gutenberg border */
.vu-main-cta.wp-block-button,
.vu-main-cta.wp-block-button * {
  box-shadow: none !important;
}

/* Mobile */

@media (max-width: 900px) {

  .vu-hero-cover {
    max-width: calc(100% - 30px);
    min-height: 680px !important;
    margin: 15px auto;
  }

  .vu-hero-content {
    padding: 140px 24px 56px;
  }

  .vu-hero-title {
    font-size: clamp(58px, 17vw, 92px) !important;
  }

  .vu-intro {
    margin-left: 0;
  }

  .vu-hero-buttons {
    gap: 12px;
  }

  .vu-main-cta .wp-block-button__link {
    font-size: 18px;
  }
}





.vu-experience {
  background: #f2f7f7;
  color: var(--deep-navy);
  padding: 76px 7vw;
}

.vu-experience-columns {
  gap: 92px;
  align-items: center;
}

.vu-experience-image figure {
  margin: 0;
}

.vu-experience-image img {
  width: 100%;
  height: 720px;
  object-fit: cover;
  border-radius: 28px;
  display: block;
}

.vu-experience-content {
  max-width: 720px;
}

.vu-experience-title {
  margin: 0 0 34px !important;
  font-size: clamp(52px, 5vw, 76px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.055em !important;
  font-weight: 800;
  color: var(--deep-navy);
}

.vu-lead {
  margin: 0 0 54px !important;
  color: rgba(13, 27, 46, 0.72);
  font-size: 18px;
  line-height: 1.55;
  font-weight: 600;
}

.vu-experience-separator {
  border: 0;
  border-top: 1px solid rgba(13, 27, 46, 0.13);
  margin: 0 0 34px !important;
}

.vu-experience-subtitle {
  margin: 0 0 26px !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800;
  color: var(--deep-navy);
}

.vu-check-list {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}

.vu-check-list li {
  position: relative;
  padding-left: 42px;
  margin-bottom: 18px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 600;
}

.vu-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -3px;
  width: 25px;
  height: 25px;
  border: 3px solid var(--muted-mint);
  color: var(--muted-mint);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 980px) {
  .vu-experience {
    padding: 56px 22px;
  }

  .vu-experience-columns {
    gap: 42px;
  }

  .vu-experience-image img {
    height: 480px;
  }
}














.vu-footer {
font-family: 'DM Sans', sans-serif;
background: linear-gradient(135deg, #071d3d 0%, #004c4c 100%);
color: var(--off-white);
padding: 72px 7vw 32px;
position: relative;
overflow: hidden;
color: white;
}

.vu-footer-logo img {max-width: 75px;}

.vu-footer::after {
content: "";
position: absolute;
right: -120px;
bottom: -160px;
width: 520px;
height: 520px;
border-radius: 50%;
border: 1px solid rgba(143,191,184,.12);
box-shadow:

    0 0 0 18px rgba(143,191,184,.04),

    0 0 0 36px rgba(143,191,184,.035),

    0 0 0 54px rgba(143,191,184,.03),

    0 0 0 72px rgba(143,191,184,.025);
}

.vu-footer-inner {
max-width: 1620px;
margin: 0 auto;
position: relative;
z-index: 2;
}

.vu-footer-top {
display: flex;
align-items: center;
gap: 18px;
margin-bottom: 86px;
}

.vu-footer-logo {
display: flex;
align-items: center;
gap: 12px;
color: var(--off-white);
text-decoration: none;
font-weight: 800;
}

.vu-logo-mark {
width: 64px;
height: 64px;
border-radius: 50%;
background: #18d6b5;
color: var(--wp--preset--color--deep-navy);
display: grid;
place-items: center;
font-weight: 900;
}

.vu-footer-line {
height: 1px;
flex: 1;
background: rgba(242,247,247,.22);
}

.vu-socials {
display: flex;
gap: 14px;
}

.vu-socials a {
width: 40px;
height: 40px;
background: var(--off-white);
color: var(--wp--preset--color--deep-navy);
border-radius: 50%;
display: grid;
place-items: center;
text-decoration: none;
font-weight: 800;
}

.vu-footer-grid {
display: grid;
grid-template-columns: 1fr 1fr 1.45fr 1.2fr;
gap: 70px;
margin-bottom: 30px;
}

.vu-footer h3 {
margin: 0 0 32px;
color: #18d6b5;
font-size: 20px;
line-height: 1;
font-weight: 800;
letter-spacing: -0.04em;
}

.vu-footer p,

.vu-footer a,

.vu-footer li {
color: var(--off-white);
line-height: 1.55;
}

.vu-footer a {
text-underline-offset: 3px;
}

.vu-footer strong {
display: block;
margin-top: 14px;
font-size: 18px;
line-height: 1;
font-weight: 900;
}

.vu-footer ul {
list-style: none;
padding: 0;
margin: 0;
columns: 2;
}

.vu-footer li {
margin-bottom: 8px;
}

.vu-footer li a {
text-decoration: none;}

.vu-newsletter {
display: flex;
border: 1px solid rgba(242,247,247,.22);
border-radius: 14px;
overflow: hidden;
max-width: 420px;
}

.vu-newsletter input {
flex: 1;
min-width: 0;
background: transparent;
border: 0;
padding: 0 32px;
color: var(--off-white);
font: inherit;
outline: none;
}

.vu-newsletter input::placeholder {
color: rgba(242,247,247,.62);
}

.vu-newsletter button {
border: 0;
background: #18d6b5;
color: var(--wp--preset--color--deep-navy);
font: inherit;
font-weight: 800;
padding: 24px 34px;
cursor: pointer;
border-radius: 12px;
margin: 4px;
}

.vu-footer-bottom {
background: white;
color: var(--wp--preset--color--deep-navy);
border-radius: 999px;
padding: 24px 30px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
margin-bottom: 30px;
}

.vu-footer-bottom p,

.vu-footer-bottom a,

.vu-footer-bottom span {
color: var(--wp--preset--color--deep-navy);
margin: 0;
font-weight: 500;
}

@media (max-width: 1000px) {
.vu-footer {
  padding: 56px 22px 24px;}

  .vu-footer-top {
  margin-bottom: 52px;}

  .vu-footer-grid {
  grid-template-columns: 1fr;
  gap: 38px;}

  .vu-footer ul {
  columns: 1;}

  .vu-footer-bottom {
  flex-direction: column;
  align-items: flex-start;}

  .vu-newsletter {
  max-width: 100%;}
}







/* WP Job Manager – Post a Job form styling */

#submit-job-form.job-manager-form {
  max-width: 960px;
  margin: 56px auto;
  padding: 48px;
  background: #eef7f6;
  border-radius: 32px;
  color: #102436;
  font-family: inherit;
}

/* Section headings */
#submit-job-form h2 {
  margin: 56px 0 28px;
  font-size: 42px;
  line-height: 1;
  color: #123f3f;
  font-weight: 800;
}

/* Field layout */
#submit-job-form fieldset {
  border: none;
  padding: 0;
  margin: 0 0 26px;
}

#submit-job-form fieldset label {
  display: block;
  margin: 0 0 10px;
  color: #123f3f;
  font-weight: 800;
  font-size: 15px;
}

#submit-job-form fieldset label small {
  color: rgba(18, 63, 63, .55);
  font-weight: 700;
}

/* Inputs */
#submit-job-form input[type="text"],
#submit-job-form input[type="email"],
#submit-job-form input[type="url"],
#submit-job-form input[type="file"],
#submit-job-form select,
#submit-job-form textarea,
#submit-job-form .wp-editor-container {
  width: 100%;
  border: 1px solid rgba(18, 63, 63, .14);
  border-radius: 18px;
  background: #fff;
  color: #102436;
  font-size: 16px;
  padding: 16px 18px;
  box-sizing: border-box;
}

#submit-job-form select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #123f3f 50%),
    linear-gradient(135deg, #123f3f 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

#submit-job-form input:focus,
#submit-job-form select:focus,
#submit-job-form textarea:focus,
#submit-job-form .wp-editor-container:focus-within {
  outline: none;
  border-color: #23e0c0;
  box-shadow: 0 0 0 4px rgba(35, 224, 192, .18);
}

/* Descriptions */
#submit-job-form small.description {
  display: block;
  margin-top: 8px;
  color: rgba(16, 36, 54, .62);
  font-size: 13px;
  font-weight: 600;
}

/* Logged-in account box */
#submit-job-form .fieldset-logged_in .account-sign-in {
  background: #123f3f;
  color: #fff;
  padding: 20px 22px;
  border-radius: 20px;
  margin-top: -70px;
}

#submit-job-form .fieldset-logged_in strong {
  color: #23e0c0;
}

#submit-job-form .fieldset-logged_in .button {
  display: inline-block;
  margin-left: 12px;
  background: #fff;
  color: #102436;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  text-decoration: none;
}

/* Checkboxes */
#submit-job-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #23e0c0;
}

#submit-job-form .fieldset-type-checkbox .field,
#submit-job-form .full-line-checkbox-field {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(18, 63, 63, .12);
  border-radius: 18px;
  padding: 16px 18px;
}

#submit-job-form .full-line-checkbox-field label {
  margin: 0;
}

/* TinyMCE editor */
#submit-job-form .wp-editor-container {
  padding: 0;
  overflow: hidden;
}

#submit-job-form .mce-toolbar-grp,
#submit-job-form .mce-statusbar {
  background: #f8fbfb !important;
  border-color: rgba(18, 63, 63, .1) !important;
}

#submit-job-form .mce-btn {
  border-radius: 8px !important;
}

/* File upload */
#submit-job-form input[type="file"] {
  padding: 14px;
}

#submit-job-form input[type="file"]::file-selector-button {
  border: none;
  background: #123f3f;
  color: #fff;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 800;
  margin-right: 14px;
  cursor: pointer;
}

/* Submit buttons */
#submit-job-form p:last-child {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 40px;
}

#submit-job-form input.button,
#submit-job-form button.button,
#submit-job-form .button {
  border: none;
  border-radius: 16px;
  padding: 16px 26px;
  background: #23e0c0;
  color: #102436;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
  transition: .2s ease;
}

#submit-job-form input.button:hover,
#submit-job-form button.button:hover,
#submit-job-form .button:hover {
  transform: translateY(-2px);
  background: #1fc9ad;
}

#submit-job-form .button.secondary,
#submit-job-form .save_draft {
  background: transparent;
  border: 1px solid rgba(18, 63, 63, .25);
  color: #123f3f;
}

/* Required fields */
#submit-job-form .required-field::after {
  content: "Required";
  display: inline-block;
  margin-top: 8px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  color: #123f3f;
  background: rgba(35, 224, 192, .18);
  border-radius: 999px;
  padding: 5px 9px;
}

/* Mobile */
@media (max-width: 700px) {
 .vu-hero-title {
    font-size: clamp(40px, 12vw, 92px) !important;
  }

  .vu-hero-cover::after {
  right: -30%;
  top: 80%;
  width: 185%;
  opacity: 0.08;
}

  .vu-header-cta2, .vu-header-cta {display: none !important;}

  .vu-logo img {
  padding-left: 0px !important;
}

  .vu-footer-bottom {
  border-radius: 25px;
}

 .vu-footer-bottom p {
    font-size: 15px !important;
  }


.vu-intro-line {
  width: 40px !important;
  flex: 0 0 40px;
}


  #submit-job-form h2 {
    font-size: 32px;
  }

  #submit-job-form p:last-child {
    flex-direction: column;
    align-items: stretch;
  }

  #submit-job-form input.button,
  #submit-job-form .button {
    width: 100%;
    text-align: center;
  }
}









/* Mark Filled button */


#job-manager-job-dashboard a.job-dashboard-action-mark_filled.jm-ui-button--outline,
#job-manager-job-dashboard .jm-dashboard-action--primary {
background: #28e0c2 !important;
  color: #071d3d !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 18px 24px !important;
  border-radius: 999px !important;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border: 0 !important;
  box-shadow: none !important;
}

#job-manager-job-dashboard .job-dashboard-action-mark_filled:hover,
#job-manager-job-dashboard a.job-dashboard-action-mark_filled.jm-ui-button--outline:hover,
#job-manager-job-dashboard .jm-dashboard-action--primary:hover {
    background: #f2f7f7 !important;
    border-color: rgba(18,63,63,.3) !important;
    transform: translateY(-2px);
}




/* ==========================================
   Clinic Dashboard Table
========================================== */

#job-manager-job-dashboard {
	max-width: 1400px;
	margin: 80px auto 80px;
	padding: 0;
}

/* Search + Add Job row */
#job-manager-job-dashboard .jm-dashboard__intro {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 30px;
}

#job-manager-job-dashboard .jm-form input[type="search"] {
	min-width: 320px;
	height: 56px;
	padding: 0 20px;
	border-radius: 16px;
	border: 1px solid #dce6e6;
	background: #fff;
	font-size: 15px;
}

/* Add Job button */
#job-manager-job-dashboard .jm-dashboard__actions .jm-ui-button {
background: #28e0c2 !important;
  color: #071d3d !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 18px 24px !important;
  border-radius: 999px !important;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border: 0 !important;
  box-shadow: none !important;
}

#job-manager-job-dashboard .jm-dashboard__actions .jm-ui-button:hover {
	transform: translateY(-2px);
}

/* Table wrapper */
#job-manager-job-dashboard .job-manager-jobs {
	background: #fff;
	border-radius: 30px;
	border: 1px solid #dce6e6;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(7,29,61,.05);
}

/* Header */
#job-manager-job-dashboard .jm-dashboard-header {
	display: grid;
	grid-template-columns: 120px 1fr 180px 180px 220px;
	gap: 20px;
margin-top: 0px;
	padding: 24px 30px;

	background: linear-gradient(
		135deg,
		#102436 0%,
		#123f3f 100%
	);

	color: #fff;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

#job-manager-job-dashboard .jm-dashboard-job-column-label {
	color: rgba(255,255,255,.85);
}

/* Rows */
#job-manager-job-dashboard .jm-dashboard-job {
	display: grid;
	grid-template-columns: 120px 1fr 180px 180px 220px;
	gap: 20px;
	align-items: center;

	padding: 26px 30px;

	border-bottom: 1px solid #edf3f3;
	background: #fff;

	transition: .2s ease;
}

#job-manager-job-dashboard .jm-dashboard-job:hover {
	background: #f8fbfb;
}

#job-manager-job-dashboard .jm-dashboard-job:last-child {
	border-bottom: 0;
}

/* Company logo */
#job-manager-job-dashboard img.company_logo {
	width: 72px;
	height: 72px;
	object-fit: contain;

	padding: 10px;

	background: #fff;
	border: 1px solid #dce6e6;
	border-radius: 18px;
}

/* Job title */
#job-manager-job-dashboard .job-title {
	display: block;
	font-size: 22px;
	font-weight: 800;
	color: #102436;
	text-decoration: none;
	margin-bottom: 8px;
}

#job-manager-job-dashboard .job-title:hover {
	color: #123f3f;
}

/* Status badge */
#job-manager-job-dashboard .job-status span {
	display: inline-flex;
	align-items: center;

	padding: 8px 14px;

	background: rgba(35,224,192,.15);
	color: #123f3f;

	border-radius: 999px;

	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

/* Date / Views */
#job-manager-job-dashboard .date,
#job-manager-job-dashboard .stats {
	font-size: 15px;
	line-height: 1.5;
}

#job-manager-job-dashboard .date div:first-child,
#job-manager-job-dashboard .stats div:first-child {
	font-weight: 800;
	color: #102436;
}

/* Actions column */
#job-manager-job-dashboard .actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

/* 3 dots menu */
#job-manager-job-dashboard .jm-ui-action-menu__open-button {
	width: 42px;
	height: 42px;

	border-radius: 50%;
	border: 1px solid #dce6e6;

	background: #fff;
	cursor: pointer;
}

/* Mobile */
@media (max-width: 1100px) {

	#job-manager-job-dashboard .jm-dashboard-header {
		display: none;
	}

	#job-manager-job-dashboard .jm-dashboard-job {
		grid-template-columns: 1fr;
		gap: 18px;

		padding: 24px;
	}

	#job-manager-job-dashboard .actions {
		justify-content: flex-start;
	}

	#job-manager-job-dashboard .jm-dashboard-job-column-label {
		display: block;
		margin-bottom: 6px;
		color: #7b8893;
		font-size: 11px;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: .08em;
	}
}



/* Tighten dashboard table rows */
#job-manager-job-dashboard .jm-dashboard-rows {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

#job-manager-job-dashboard .jm-dashboard-job {
  margin: 0 !important;
  min-height: 0 !important;
  padding: 24px 30px !important;
  border-radius: 0 !important;
}

#job-manager-job-dashboard .jm-dashboard-job + .jm-dashboard-job {
  margin-top: 0 !important;
}

#job-manager-job-dashboard .jm-dashboard-job-column {
  margin: 0 !important;
  padding: 0 !important;
}

#job-manager-job-dashboard .job-manager-jobs {
  gap: 0 !important;
}

/* Optional: slightly shorter rows */
#job-manager-job-dashboard .company_logo {
  width: 60px !important;
  height: 60px !important;
}

#job-manager-job-dashboard .job-title {
  margin-bottom: 6px !important;
}



/* Single Job Page – VETS Unlimited hero + content layout */

.single_job_listing {
  max-width: 1240px;
  margin: 0 auto 96px;
  padding: 48px 32px 0;
  color: #071d1c;
  font-family: inherit;

  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: start;
}

/* ================================
   HERO / HEADER AREA
================================ */

.single_job_listing .company {
  grid-column: 1 / -1;
  order: 1;

  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 40px;
  align-items: center;

  margin: 0 0 48px;
  padding: 58px;

  border-radius: 36px;
  border: none;

  background:
    radial-gradient(circle at 88% 105%, rgba(255,255,255,.08) 0 20%, transparent 21%),
    radial-gradient(circle at 88% 105%, rgba(255,255,255,.045) 0 34%, transparent 35%),
    linear-gradient(135deg, #102436 0%, #123f3f 62%, #0b302f 100%);

  box-shadow: 0 28px 80px rgba(7,29,28,.14);
  overflow: hidden;
}

/* Logo */
.single_job_listing .company img.company_logo {
  position: static;
  float: none;

  width: 72px;
  height: 72px;
  margin: 0 0 28px;

  object-fit: contain;
  border-radius: 18px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);

  grid-column: 1;
}

/* Company text block */
.single_job_listing .company .company_header {
  grid-column: 1;
  padding: 0;
  margin: 0;
}

/* Use company name/tagline as header intro */
.single_job_listing .company .name {
  margin: 0 0 16px;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  font-weight: 700;
}

.single_job_listing .company .name strong {
  color: rgba(255,255,255,.72);
  font-weight: 700;
}

.single_job_listing .company .name a.website {
  display: none;
}

.single_job_listing .company .tagline {
  max-width: 680px;
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 6vw, 78px);
  line-height: .96;
  font-weight: 900;
  letter-spacing: -0.055em;
}

/* Since the title is not inside this markup, use tagline visually as title.
   If tagline is not the job title, replace tagline content in WP admin with title-style text. */

/* Faux CTA panel inside hero */
.single_job_listing .company::after {
  content: "Interested in this job?\A Apply Now";
  white-space: pre-line;

  grid-column: 2;
  grid-row: 1 / span 2;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 270px;
  padding: 44px 34px;

  border-radius: 32px;

  background: #23e0c0;
  color: #102436;

  text-align: center;
  font-size: 38px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.035em;
}

/* ================================
   META SIDEBAR
================================ */

.single_job_listing .job-listing-meta {
  grid-column: 2;
  order: 3;

  position: sticky;
  top: 48px;

  display: flex;
  flex-direction: column;
  gap: 20px;

  margin: 0;
  padding: 32px;

  list-style: none;
  border-radius: 28px;
  border: 1px solid rgba(10,45,43,.10);
  background: #fff;
  box-shadow: 0 18px 44px rgba(10,45,43,.06);
}

.single_job_listing .job-listing-meta::before {
  content: "Job Overview";
  display: block;
  margin-bottom: 4px;

  color: #071d1c;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.single_job_listing .job-listing-meta li {
  display: flex;
  align-items: center;
  min-height: auto;

  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;

  color: rgba(7,29,28,.72);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.4;
}

.single_job_listing .job-listing-meta li.job-type {
  color: #071d1c;
}

.single_job_listing .job-listing-meta li.location a {
  color: rgba(7,29,28,.72);
  text-decoration: none;
}

.single_job_listing .job-listing-meta li.salary {
  color: #071d1c;
  font-weight: 900;
}

/* ================================
   MAIN DESCRIPTION CONTENT
================================ */

.single_job_listing .job_description {
  grid-column: 1;
  order: 2;

  margin: 0;
  padding: 42px;

  border-radius: 32px;
  border: 1px solid rgba(10,45,43,.10);
  background: #fff;
  box-shadow: 0 18px 44px rgba(10,45,43,.05);
}

.single_job_listing .job_description::before {
  content: "Job Description";
  display: block;
  margin: 0 0 24px;

  color: #071d1c;
  font-size: 44px;
  line-height: .95;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.single_job_listing .job_description p,
.single_job_listing .job_description li {
  color: rgba(7,29,28,.72);
  font-size: 18px;
  line-height: 1.75;
}

.single_job_listing .job_description h4 {
  margin: 42px 0 18px;
  color: #071d1c;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.035em;
}

/* ================================
   REAL APPLICATION BUTTON BELOW
================================ */

.single_job_listing .job_application {
  grid-column: 1;
  order: 4;

  margin: 0;
  padding: 32px;

  border-radius: 28px;
  border: 1px solid rgba(10,45,43,.10);
  background: #fff;
  box-shadow: 0 18px 44px rgba(10,45,43,.05);
}

.single_job_listing .job_application .application_button {
  min-height: 58px;
  border: none;
  border-radius: 999px;
  padding: 0 34px;

  background: #102436;
  color: #fff;

  font-size: 16px;
  font-weight: 850;

  cursor: pointer;
  transition: .2s ease;
}

.single_job_listing .job_application .application_button:hover {
  transform: translateY(-2px);
  background: #123f3f;
}

.single_job_listing .application_details {
  margin-top: 22px;
  padding: 20px;
  border-radius: 18px;
  background: #eef7f6;
  color: rgba(7,29,28,.72);
}

.single_job_listing .application_details a {
  color: #123f3f;
  font-weight: 850;
}

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

@media (max-width: 980px) {
  .single_job_listing {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 28px 18px 0;
  }

  .single_job_listing .company {
    grid-template-columns: 1fr;
    padding: 36px 28px;
    border-radius: 28px;
  }

  .single_job_listing .company::after {
    grid-column: 1;
    grid-row: auto;
    min-height: 180px;
    font-size: 32px;
  }

  .single_job_listing .job-listing-meta,
  .single_job_listing .job_description,
  .single_job_listing .job_application {
    grid-column: 1;
  }

  .single_job_listing .job-listing-meta {
    position: static;
  }

  .single_job_listing .company .tagline {
    font-size: 44px;
  }

  .single_job_listing .job_description {
    padding: 28px;
  }

  .single_job_listing .job_description::before {
    font-size: 36px;
  }
}



/* ================================
   Header
================================ */

.vu-header {
  position: relative;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 30px 55px -110px 30px;
  padding: 0 !important;
}

.vu-logo {
  margin: 0 !important;
  position: relative;
  z-index: 3;
}

.vu-logo img {
  width: 200px;
  display: block;
  padding-left: 25px;
  display: block;
  position: relative;
  z-index: 5;
}

.wp-block-navigation__responsive-container-open svg {
  fill: currentColor;
  display: block;
  height: 30px;
  pointer-events: none;
  width: 30px;
}

.wp-block-navigation__responsive-container-open {
  color: #fff !important;
}

.items-justified-center  .vu-nav {
  border-radius: 999px;
  background: rgba(242, 247, 247, 0.28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 20px 45px;
}



/* Force horizontal menu */
.vu-nav1 .wp-block-navigation__container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 34px !important;
  padding: 20px 42px !important;
  margin: 0 !important;
}

/* Nav links */
.vu-nav .wp-block-navigation-item {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent;
}

.vu-nav a,
.vu-nav .wp-block-navigation-item__content {
  color: var(--off-white) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  padding: 0 !important;
  white-space: nowrap;
}

.vu-nav a:hover,
.vu-nav .wp-block-navigation-item__content:hover {
  color: var(--muted-mint) !important;
}



/* Right buttons */
.top-btns {
  display: flex;
  gap: 10px;
  position: relative;
  z-index: 3;
  margin: 0 !important;
}

.vu-header-cta,
.vu-header-cta2 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.vu-header-cta .wp-block-button__link,
.vu-header-cta2 .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 18px 24px !important;
  border-radius: 999px !important;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border: 0 !important;
  box-shadow: none !important;
}

.vu-header-cta2 .wp-block-button__link {
  background: #fff !important;
  color: var(--dark-teal) !important;
}

.vu-header-cta .wp-block-button__link {
  background: #28e0c2 !important;
  color: #071d3d !important;
}

.vu-header-cta .wp-block-button__link::after,
.vu-header-cta2 .wp-block-button__link::after {
  content: "↗";
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

@media (max-width: 900px) {
  .vu-header {
    max-width: calc(100% - 44px);
    margin: 30px auto -108px;
  }



  .vu-logo img {
    max-height: 52px;
  }
}

@media (min-width: 980px) {
.vu-nav {
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    min-width: 375px;
}
}







/* Clinic Details Section */
.rcp_clinic_fieldset {
	margin-top: 50px;
	border: 0;
	padding: 0;
}

.rcp_clinic_fieldset p {
	margin: 0 0 24px;
	width: 100%;
	display: block;
}

.rcp_clinic_fieldset label {
	display: block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 700;
	color: #063f3f;
}

.rcp_clinic_fieldset input[type="text"],
.rcp_clinic_fieldset input[type="url"] {
	width: 100%;
	height: 58px;
	padding: 0 20px;
	border: 1px solid #d7e3e3;
	border-radius: 18px;
	background: #f8fbfb;
	font-size: 16px;
	box-sizing: border-box;
}

.rcp_clinic_fieldset input[type="file"] {
	width: 100%;
	padding: 14px;
	border: 1px solid #d7e3e3;
	border-radius: 18px;
	background: #f8fbfb;
	box-sizing: border-box;
}

.rcp_clinic_fieldset input[type="file"]::file-selector-button {
	background: #005252;
	color: #fff;
	border: 0;
	border-radius: 10px;
	padding: 10px 18px;
	font-weight: 700;
	margin-right: 15px;
	cursor: pointer;
}

.rcp_clinic_fieldset small {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	color: #6f7777;
}

/* Force all clinic fields full width */
#vets_clinic_name_wrap,
#vets_clinic_website_wrap,
#vets_clinic_logo_wrap {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	display: block !important;
	margin-bottom: 15px !important;
}

/* Make text inputs same width as email/password fields */
#vets_clinic_name,
#vets_clinic_website {
	width: 100% !important;
	max-width: 100% !important;
}

.rcp_clinic_fieldset h3 {
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
  color: #071d3d;
  margin: 20px 0 20px;
}

.rcp_clinic_fieldset input[type="url"] {
border-radius: 18px !important;
}



/* ==========================================
   Employer Dashboard — Clinics
========================================== */

.vets-employer-dashboard {
	max-width: 1400px;
	margin: 80px auto;
	padding: 0 32px;
	color: #102436;
}

.vets-dashboard-tabs {
	display: flex;
	gap: 12px;
	margin-bottom: 72px;
}

.vets-dashboard-tabs a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 24px;
	border-radius: 999px;
	background: #fff;
	color: #102436;
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	border: 0;
	transition: .2s ease;
}

.vets-dashboard-tabs a.is-active,
.vets-dashboard-tabs a:hover {
	background: #28e0c2;
	color: #071d3d;
	transform: translateY(-2px);
}

.vets-clinic-dashboard__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 40px;
}

.vets-clinic-dashboard__header h2,
.vets-clinic-form-wrap h2 {
	margin: 0 0 24px;
	font-size: clamp(52px, 5vw, 76px);
	line-height: .96;
	letter-spacing: -0.055em;
	font-weight: 800;
	color: #071d3d;
}

.vets-clinic-dashboard__header p {
	margin: 0;
	color: rgba(13, 27, 46, .72);
	font-size: 18px;
	line-height: 1.55;
	font-weight: 600;
}

.vets-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 18px 24px;
	border-radius: 999px;
	background: #28e0c2;
	color: #071d3d;
	font-size: 18px;
	font-weight: 800;
	text-decoration: none;
	border: 0;
	cursor: pointer;
	box-shadow: none;
	transition: .2s ease;
}

.vets-button:hover {
	transform: translateY(-2px);
	background: #1fc9ad;
	color: #071d3d;
}

.vets-button::after {
	content: "↗";
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
}

/* Clinic cards */

.vets-clinic-list {
	display: grid;
	gap: 24px;
}

.vets-clinic-card,
.vets-empty-state {
	position: relative;
	background: #fff;
	border-radius: 30px;
	border: 1px solid #dce6e6;
	padding: 38px;
	box-shadow: 0 12px 30px rgba(7,29,61,.05);
	overflow: hidden;
}

.vets-clinic-card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: start;
}

.vets-clinic-card::before {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -150px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	border: 1px solid rgba(143,191,184,.16);
	box-shadow:
		0 0 0 18px rgba(143,191,184,.045),
		0 0 0 36px rgba(143,191,184,.035),
		0 0 0 54px rgba(143,191,184,.025);
	pointer-events: none;
}

.vets-clinic-card__main,
.vets-clinic-card__actions {
	position: relative;
	z-index: 2;
}

.vets-clinic-card h3,
.vets-empty-state h3 {
	margin: 0 0 24px;
	color: #102436;
	font-size: 36px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: -0.04em;
}

.vets-clinic-card p,
.vets-empty-state p {
	margin: 0 0 14px;
	color: rgba(16, 36, 54, .76);
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
}

.vets-clinic-card strong {
	color: #102436;
	font-weight: 900;
}

.vets-clinic-card a {
	color: #123f3f;
	font-weight: 800;
	text-underline-offset: 3px;
}

.vets-status {
	display: inline-flex;
	align-items: center;
	margin: 0 0 22px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(35,224,192,.15);
	color: #123f3f;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.vets-status--inactive {
	background: #f3f4f6;
	color: #6b7280;
}

.vets-clinic-card__actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 999px;
	background: #eef7f6;
	color: #102436;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none;
	border: 1px solid rgba(18,63,63,.14);
	transition: .2s ease;
}

.vets-clinic-card__actions a:hover {
	background: #28e0c2;
	transform: translateY(-2px);
}

/* Add/Edit Clinic Form */

.vets-clinic-form-wrap {
	max-width: 960px;
	margin: 0;
}

.vets-clinic-form {
	max-width: 960px;
	margin: 40px 0 0;
	padding: 48px;
	background: #eef7f6;
	border-radius: 32px;
	color: #102436;
	font-family: inherit;
}

.vets-clinic-form p {
	border: none;
	padding: 0;
	margin: 0 0 26px;
}

.vets-clinic-form label {
	display: block;
	margin: 0 0 10px;
	color: #123f3f;
	font-weight: 800;
	font-size: 15px;
}

.vets-clinic-form input[type="text"],
.vets-clinic-form input[type="email"],
.vets-clinic-form input[type="url"],
.vets-clinic-form select {
	width: 100%;
	height: 58px;
	border: 1px solid rgba(18, 63, 63, .14);
	border-radius: 18px;
	background: #fff;
	color: #102436;
	font-size: 16px;
	padding: 0 18px;
	box-sizing: border-box;
}

.vets-clinic-form select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, #123f3f 50%),
		linear-gradient(135deg, #123f3f 50%, transparent 50%);
	background-position:
		calc(100% - 22px) 50%,
		calc(100% - 16px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.vets-clinic-form input:focus,
.vets-clinic-form select:focus {
	outline: none;
	border-color: #23e0c0;
	box-shadow: 0 0 0 4px rgba(35, 224, 192, .18);
}

.vets-clinic-form p:has(input[type="checkbox"]) {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 1px solid rgba(18, 63, 63, .12);
	border-radius: 18px;
	padding: 16px 18px;
}

.vets-clinic-form p:has(input[type="checkbox"]) label {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.vets-clinic-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #23e0c0;
}

.vets-clinic-form .vets-button--secondary {
	background: transparent;
	border: 1px solid rgba(18, 63, 63, .25);
	color: #123f3f;
	margin-left: 10px;
}

.vets-clinic-form .vets-button--secondary::after {
	display: none;
}

/* Mobile */

@media (max-width: 700px) {
	.vets-employer-dashboard {
		margin: 48px auto;
		padding: 0 22px;
	}

	.vets-dashboard-tabs {
		margin-bottom: 46px;
	}

	.vets-clinic-dashboard__header {
		flex-direction: column;
	}

	.vets-clinic-dashboard__header h2,
	.vets-clinic-form-wrap h2 {
		font-size: 46px;
	}

	.vets-clinic-card {
		grid-template-columns: 1fr;
		padding: 28px;
	}

	.vets-clinic-card h3,
	.vets-empty-state h3 {
		font-size: 30px;
	}

	.vets-clinic-form {
		padding: 28px;
	}

	.vets-clinic-form .vets-button,
	.vets-clinic-form .vets-button--secondary {
		width: 100%;
		margin: 0 0 12px;
	}
}



.vets-inline-add-clinic {
	display: inline-flex;
	margin-left: 10px;
	color: #123f3f;
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.vets-inline-add-clinic:hover {
	color: #23e0c0;
}



/* RCP Register - Clinic Details card */

#rcp_registration_form .vets-register-clinic-card {
  background: #fff;
  border: 1px solid rgba(13, 27, 46, 0.08);
  border-radius: 24px;
  padding: 32px;
  margin: 32px 0 0;
  box-shadow: 0 12px 40px rgba(7, 29, 61, 0.06);
  box-sizing: border-box;
}

#rcp_registration_form .vets-register-clinic-card h3 {
  margin: 0 0 28px;
  color: #071d3d;
  font-size: 38px;
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: -0.04em;
}

#rcp_registration_form .vets-register-clinic-card p {
  margin: 0 0 16px;
}

#rcp_registration_form .vets-register-clinic-card label {
  display: block;
  margin-bottom: 8px;
  color: #123f3f;
  font-size: 14px;
  font-weight: 800;
}

#rcp_registration_form .vets-register-clinic-card input[type="text"],
#rcp_registration_form .vets-register-clinic-card input[type="email"],
#rcp_registration_form .vets-register-clinic-card input[type="url"],
#rcp_registration_form .vets-register-clinic-card select {
  width: 100% !important;
  height: 54px;
  padding: 0 18px;
  border: 1px solid #d7e3e3;
  border-radius: 16px !important;
  background: #f8fbfb;
  color: #071d3d;
  font-size: 15px;
  box-sizing: border-box;
}

#rcp_registration_form .vets-register-clinic-card input:focus,
#rcp_registration_form .vets-register-clinic-card select:focus {
  outline: none;
  border-color: #28e0c2;
  box-shadow: 0 0 0 4px rgba(40, 224, 194, 0.18);
}

#rcp_registration_form .vets-register-clinic-card input[type="file"] {
  width: 100%;
  padding: 13px;
  border: 1px solid #d7e3e3;
  border-radius: 16px;
  background: #f8fbfb;
  box-sizing: border-box;
}

#rcp_registration_form .vets-register-clinic-card input[type="file"]::file-selector-button {
  margin-right: 14px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: #005252;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

#rcp_registration_form .vets-register-clinic-card small {
  display: block;
  margin-top: 8px;
  color: rgba(13, 27, 46, 0.62);
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 700px) {
  #rcp_registration_form .vets-register-clinic-card {
    padding: 24px;
  }

  #rcp_registration_form .vets-register-clinic-card h3 {
    font-size: 32px;
  }
}



/* RCP Membership Dashboard */
.vets-employer-dashboard .rcp-table-wrapper {
	margin: 0 auto 80px;
}

.vets-employer-dashboard .rcp-table-wrapper {
  max-width: none !important;
}

.vets-employer-dashboard .rcp-table-wrapper h3 {
	margin: 0 0 28px;
	font-size: clamp(40px, 4vw, 58px);
	line-height: .95;
	letter-spacing: -0.045em;
	font-weight: 900;
	color: #071d3d;
}

.vets-employer-dashboard .rcp-table {
	width: 100%;
	margin: 0 0 64px;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid #dce6e6;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(7,29,61,.05);
}

.vets-employer-dashboard .rcp-table th {
	padding: 22px 26px;
	background: linear-gradient(135deg, #102436 0%, #123f3f 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-align: left;
}

.vets-employer-dashboard .rcp-table td {
	padding: 26px;
	border-bottom: 1px solid #edf3f3;
	color: rgba(16, 36, 54, .78);
	font-size: 16px;
	font-weight: 700;
	vertical-align: middle;
}

.vets-employer-dashboard .rcp-table tbody tr:last-child td {
	border-bottom: 0;
}

.vets-employer-dashboard .rcp-table td[data-title="Status"],
.vets-employer-dashboard .rcp-table td[data-title="Payment Status"] {
	color: #123f3f;
	font-weight: 900;
}

.vets-employer-dashboard .rcp-table button {
	border: 0;
	border-radius: 999px;
	padding: 12px 18px;
	margin: 4px 0;
	background: #28e0c2;
	color: #071d3d;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
	transition: .2s ease;
}

.vets-employer-dashboard .rcp-table button:hover {
	transform: translateY(-2px);
	background: #1fc9ad;
}

.vets-employer-dashboard .rcp-table a {
	text-decoration: none;
}

/* Mobile */
@media (max-width: 760px) {
	.vets-employer-dashboard .rcp-table,
	.vets-employer-dashboard .rcp-table tbody,
	.vets-employer-dashboard .rcp-table tr,
	.vets-employer-dashboard .rcp-table td {
		display: block;
		width: 100%;
	}

	.vets-employer-dashboard .rcp-table thead {
		display: none;
	}

	.vets-employer-dashboard .rcp-table tr {
		padding: 22px;
		border-bottom: 1px solid #edf3f3;
	}

	.vets-employer-dashboard .rcp-table td {
		padding: 12px 0;
		border-bottom: 0;
	}

	.vets-employer-dashboard .rcp-table td::before {
		content: attr(data-title);
		display: block;
		margin-bottom: 5px;
		color: #123f3f;
		font-size: 12px;
		font-weight: 900;
		text-transform: uppercase;
		letter-spacing: .08em;
	}

	.vets-employer-dashboard .rcp-table button {
		width: 100%;
	}
}







/* WP Job Manager Preview Fix */
#job_preview,
#job_preview .job_listing_preview,
#job_preview .single_job_listing {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
  display: block !important;
  border-radius: 99px;
}

#job_preview .job_listing_preview > h1 {
	display: none !important;
}

.job_listing_preview_title {
	max-width: var(--wp--style--global--content-size);
  margin: 20px auto 24px;
  padding: 45px !important;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 12px;
  border-radius: 25px;
}

.job_listing_preview_title h2 {
	order: -1;
	margin: 0 auto 0 0;
	font-size: 30px;
	line-height: 1;
	color: #071d3d;
  font-weight: 700;
}

.job_listing_preview_title .button {
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 22px !important;
	font-weight: 800 !important;
	cursor: pointer;
}

.job_listing_preview_title .job-manager-button-submit-listing {
	background: #28e0c2 !important;
	color: #071d3d !important;
}

.job_listing_preview_title .job-manager-button-edit-listing {
	background: #fff !important;
	color: #071d3d !important;
}

/* Force preview content back to normal single-job layout */
#job_preview .vets-job-page {
	width: 100% !important;
	max-width: none !important;
	overflow: hidden !important;
}

#job_preview .vets-job-hero {
	width: 100% !important;
	padding: 160px 24px 160px !important;
	box-sizing: border-box;
}

#job_preview .vets-job-hero-inner,
#job_preview .vets-job-meta,
#job_preview .vets-job-content {
	width: 100% !important;
	max-width: var(--wp--style--global--content-size) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

#job_preview .vets-job-meta {
	margin-top: -90px !important;
	margin-bottom: 70px !important;
}

#job_preview .vets-job-content {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	gap: 40px !important;
	align-items: start !important;
	padding-bottom: 65px !important;
}

#job_preview .vets-job-main,
#job_preview .vets-job-sidebar,
#job_preview .sidebar-card {
	width: auto !important;
	max-width: none !important;
}

/* Stop related jobs from sitting beside the job content */
#job_preview .single-job-related-block {
	width: 100% !important;
	max-width: none !important;
	clear: both !important;
	display: block !important;
	margin: 0 !important;
	padding: 65px 24px 120px !important;
	box-sizing: border-box;
}

#job_preview .single-job-related-block > .vets-related-inner,
#job_preview .single-job-related-block .vets-related-inner {
	width: 100% !important;
	max-width: var(--wp--style--global--content-size) !important;
	margin: 0 auto !important;
}

/* Slick slider width fix inside preview */
#job_preview .slick-slider,
#job_preview .slick-list,
#job_preview .slick-track {
	width: 100% !important;
	max-width: 100% !important;
}

#job_preview .vets-related-card {
	box-sizing: border-box;
}

/* Mobile */
@media (max-width: 991px) {
	#job_preview .vets-job-content {
		grid-template-columns: 1fr !important;
	}

	#job_preview .vets-job-meta {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 767px) {
	.job_listing_preview_title {
		padding: 24px;
		flex-wrap: wrap;
	}

	.job_listing_preview_title h2 {
		width: 100%;
		font-size: 42px;
	}

	#job_preview .vets-job-hero {
		padding: 80px 24px 120px !important;
	}

	#job_preview .vets-job-meta {
		grid-template-columns: 1fr !important;
		margin: -60px 24px 30px !important;
		width: auto !important;
	}

	#job_preview .vets-job-main,
	#job_preview .sidebar-card {
		margin: 0 24px 30px !important;
	}
}



/* Hide related jobs on WP Job Manager preview */
#job_preview .single-job-related-block,
#job_preview .vets-related-jobs {
	display: none !important;
}






/* Wrapper */
#gform_wrapper_1 {
	max-width: 720px;
	margin: 0 auto;
}

/* Remove default spacing */
#gform_wrapper_1 .gform-body,
#gform_wrapper_1 .gform_fields {
	margin: 0;
	padding: 0;
}

#gform_wrapper_1 .gform-footer {
	display: none;
}

/* Layout */
#gform_wrapper_1 .gform_fields {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: rgba(255,255,255,.03);
	border: 2px solid rgba(255,255,255,.15);
	border-radius: 28px;
	padding: 12px;
	overflow: hidden;
}

/* Input column */
#gform_wrapper_1 #field_1_3 {
	flex: 1;
	margin: 0;
}

#gform_wrapper_1 .ginput_container {
	height: 100%;
}

/* Transparent input */
#gform_wrapper_1 input[type="email"] {
	width: 100%;
	height: 100%;
	min-height: 92px;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;

	padding: 0 34px;

	font-size: 22px;
	font-weight: 400;
	color: #fff;

	outline: none;
}

/* Placeholder */
#gform_wrapper_1 input[type="email"]::placeholder {
	color: rgba(255,255,255,.65);
}

/* Button column */
#gform_wrapper_1 #field_submit {
	flex: 0 0 300px;
	margin: 0;
}

#gform_wrapper_1 #gform_submit_button_1 {
	width: 100%;
	height: 100%;
	min-height: 92px;

	border: 0;
	border-radius: 22px;

	background: #2ad9c4;
	color: #061a36;

	font-size: 26px;
	font-weight: 700;

	cursor: pointer;
	transition: .25s;
}

#gform_wrapper_1 #gform_submit_button_1:hover {
	background: #3ae7d2;
	transform: translateY(-1px);
}

/* Remove hidden label spacing */
#gform_wrapper_1 .hidden_label .gfield_label {
	display: none;
}

/* Mobile */
@media (max-width:768px){

	#gform_wrapper_1 .gform_fields{
		flex-direction:column;
		padding:10px;
	}

	#gform_wrapper_1 #field_submit{
		flex:unset;
	}

	#gform_wrapper_1 input[type="email"],
	#gform_wrapper_1 #gform_submit_button_1{
		min-height:70px;
		font-size:20px;
	}
}





/* ========================================================================== */
/* Round 24 — Responsive/UI consolidation                                     */
/* ========================================================================== */

/* Keep the shared header layout collision-free on laptops. */
@media (min-width: 901px) {
  .vu-header {
    display: grid !important;
    grid-template-columns: minmax(160px, 1fr) auto minmax(270px, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
  }

  .vu-header .vu-logo {
    justify-self: start !important;
    min-width: 0 !important;
  }

  .vu-header .vu-nav {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    justify-self: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .vu-header .top-btns {
    justify-self: end !important;
    min-width: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1320px) {
  .vu-header {
    margin-left: 22px !important;
    margin-right: 22px !important;
    gap: 12px !important;
    grid-template-columns: minmax(145px, .8fr) auto minmax(240px, 1fr) !important;
  }

  .vu-logo img {
    width: 165px !important;
    padding-left: 0 !important;
  }

  .items-justified-center .vu-nav,
  .vu-nav1 .wp-block-navigation__container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .vu-nav1 .wp-block-navigation__container {
    gap: 22px !important;
  }

  .vu-nav a,
  .vu-nav .wp-block-navigation-item__content {
    font-size: 15px !important;
  }

  .vu-header-cta .wp-block-button__link,
  .vu-header-cta2 .wp-block-button__link {
    padding: 14px 18px !important;
    font-size: 15px !important;
  }
}

/* Mobile header: sticky, aligned and contained. */
@media (max-width: 900px) {
  .vu-header,
  .vu-header.sticky,
  .vu-header.vu-header--sticky {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: none !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    background: linear-gradient(135deg, #071d3d 0%, #073e50 100%) !important;
    box-shadow: 0 10px 28px rgba(7, 29, 61, .16) !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    z-index: 99990 !important;
  }

  body.admin-bar .vu-header,
  body.admin-bar .vu-header.sticky,
  body.admin-bar .vu-header.vu-header--sticky {
    top: 46px !important;
  }

  .vu-header .vu-logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .vu-header .vu-logo img {
    width: min(190px, 56vw) !important;
    max-height: 44px !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .vu-header .top-btns {
    display: none !important;
  }

  .vu-header .vu-nav,
  .vu-header .wp-block-navigation {
    position: static !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
    transform: none !important;
  }

  .vu-header .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 7px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
  }

  .vu-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    position: absolute !important;
    inset: auto 0 auto auto !important;
    top: calc(100% + 8px) !important;
    width: min(340px, calc(100vw - 24px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 96px) !important;
    margin: 0 !important;
    padding: 58px 22px 22px !important;
    overflow: auto !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #071d3d 0%, #004c4c 100%) !important;
    box-shadow: 0 24px 60px rgba(7,29,61,.28) !important;
    z-index: 100000 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content {
    padding: 0 !important;
    align-items: stretch !important;
  }

  .vu-header .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    color: #fff !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
  }

  .vu-header .wp-block-navigation__container,
  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .vu-header .wp-block-navigation-item,
  .vu-header .wp-block-navigation-item__content {
    width: 100% !important;
  }

  .vu-header .wp-block-navigation-item__content,
  .vu-header .vu-nav a {
    display: block !important;
    padding: 13px 14px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  .vu-header .wp-block-navigation-item__content:hover,
  .vu-header .vu-nav a:hover {
    background: rgba(255,255,255,.08) !important;
  }
}

@media (min-width: 783px) and (max-width: 900px) {
  body.admin-bar .vu-header,
  body.admin-bar .vu-header.sticky,
  body.admin-bar .vu-header.vu-header--sticky {
    top: 32px !important;
  }
}

/* Mobile homepage hero keeps the desktop card treatment. */
@media (max-width: 900px) {
  .vu-hero-cover {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin: 16px auto 22px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  .vu-hero-cover .wp-block-cover__background,
  .vu-hero-cover .wp-block-cover__image-background {
    border-radius: inherit !important;
  }

  .vu-hero-content {
    padding-top: 92px !important;
  }
}

/* Register page: stack login prompt and new-account form cleanly on mobile. */
@media (max-width: 760px) {
  #rcp_registration_form,
  #rcp_registration_form fieldset,
  #rcp_registration_form .vets-register-clinic-card,
  #rcp_registration_form #rcp_subscription_levels,
  #rcp_registration_form .rcp_gateway_fields,
  #rcp_registration_form .rcp_gateway_stripe_fields {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #rcp_registration_form .vets-register-login-prompt {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    margin: 0 0 24px !important;
    padding: 22px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #102436 0%, #123f3f 100%) !important;
    color: #fff !important;
    text-align: center !important;
  }

  #rcp_registration_form .vets-register-login-prompt a {
    order: -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 20px !important;
    border-radius: 999px !important;
    background: #28e0c2 !important;
    color: #071d3d !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  #rcp_registration_form .vets-register-create-divider {
    display: block !important;
    width: 100% !important;
    margin: 24px 0 16px !important;
    padding: 0 !important;
    color: #78858b !important;
    background: transparent !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  #rcp_registration_form .rcp_user_fieldset,
  #rcp_registration_form .vets-register-clinic-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 24px 20px !important;
    border-radius: 24px !important;
  }

  #rcp_registration_form input,
  #rcp_registration_form select,
  #rcp_registration_form textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Job listings controls must never overlap on phones. */
@media (max-width: 760px) {
  .vu-jobs-controls {
    width: 100% !important;
    max-width: none !important;
    margin: 20px auto 0 !important;
    padding: 0 16px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  .vu-job-sort-form {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  .vu-job-sort-form select {
    width: auto !important;
    max-width: 155px !important;
    height: 42px !important;
    padding: 0 32px 0 14px !important;
    font-size: 12px !important;
  }

  .vu-jobs-toolbar {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
  }

  .vu-jobs-toolbar__label {
    margin: 0 2px 0 0 !important;
    font-size: 10px !important;
  }

  .vu-view-toggle {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
  }

  .job_filters {
    padding-top: 110px !important;
    padding-bottom: 42px !important;
  }

  .job_filters::before {
    font-size: 44px !important;
    margin-bottom: 30px !important;
  }

  ul.job_listings {
    margin-top: 0 !important;
  }
}

@media (max-width: 430px) {
  .vu-jobs-toolbar__label {
    display: none !important;
  }
}

/* Related job cards: stop footer text/pills bleeding into neighbouring cards. */
.vets-related-grid.is-slider {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.vets-related-card,
.vets-related-card-inner,
.vets-related-footer,
.vets-related-footer > div {
  min-width: 0 !important;
}

.vets-related-card {
  overflow: hidden !important;
}

.vets-related-card h3,
.vets-related-card .business-name,
.vets-related-card .vu-pill,
.vets-related-footer strong,
.vets-related-footer p {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.vets-related-card .vu-job-tags {
  min-height: 0 !important;
}

.vets-related-footer {
  flex-wrap: wrap !important;
}

.vets-related-footer > div {
  flex: 1 1 170px !important;
}

.vets-related-card .vu-job-cta {
  max-width: 100% !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  .vets-related-jobs {
    padding: 60px 18px 110px !important;
    overflow: hidden !important;
  }

  .vets-related-grid.is-slider {
    padding-bottom: 84px !important;
  }

  .vets-related-card {
    margin: 0 !important;
    min-height: 0 !important;
  }

  .vets-related-footer {
    align-items: stretch !important;
  }

  .vets-related-card .vu-job-cta {
    width: 100% !important;
  }
}

/* Footer newsletter / Gravity Forms: stable dimensions and usable submit. */
.vu-footer #gform_wrapper_1,
#footer #gform_wrapper_1 {
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 !important;
}

.vu-footer #gform_wrapper_1 .gform_fields,
#footer #gform_wrapper_1 .gform_fields {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 7px !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
}

.vu-footer #gform_wrapper_1 #field_1_3,
#footer #gform_wrapper_1 #field_1_3 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.vu-footer #gform_wrapper_1 input[type="email"],
#footer #gform_wrapper_1 input[type="email"] {
  min-width: 0 !important;
  min-height: 66px !important;
  padding: 0 18px !important;
  font-size: 16px !important;
}

.vu-footer #gform_wrapper_1 #field_submit,
#footer #gform_wrapper_1 #field_submit {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.vu-footer #gform_wrapper_1 #gform_submit_button_1,
#footer #gform_wrapper_1 #gform_submit_button_1 {
  width: auto !important;
  min-width: 145px !important;
  height: 66px !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 17px !important;
  font-size: 19px !important;
  line-height: 1 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

.vu-footer #gform_wrapper_1 #gform_submit_button_1:active,
.vu-footer #gform_wrapper_1 #gform_submit_button_1:focus,
#footer #gform_wrapper_1 #gform_submit_button_1:active,
#footer #gform_wrapper_1 #gform_submit_button_1:focus {
  width: auto !important;
  min-width: 145px !important;
  height: 66px !important;
  min-height: 66px !important;
  transform: none !important;
}

.vu-footer #gform_wrapper_1 .gform_ajax_spinner,
#footer #gform_wrapper_1 .gform_ajax_spinner {
  width: 18px !important;
  height: 18px !important;
  margin: 0 0 0 8px !important;
}

@media (max-width: 760px) {
  .vu-footer #gform_wrapper_1,
  #footer #gform_wrapper_1 {
    max-width: 100% !important;
  }

  .vu-footer #gform_wrapper_1 .gform_fields,
  #footer #gform_wrapper_1 .gform_fields {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .vu-footer #gform_wrapper_1 #gform_submit_button_1,
  #footer #gform_wrapper_1 #gform_submit_button_1 {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Post-a-job first-clinic/account alignment. */
#submit-job-form .vets-job-clinic-notice {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 44px !important;
  padding: 30px !important;
  border: 1px solid rgba(18,63,63,.12) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(7,29,61,.045) !important;
}

#submit-job-form .vets-job-clinic-notice h3 {
  margin: 0 0 12px !important;
  color: #102436 !important;
  font-size: clamp(32px, 4vw, 46px) !important;
  line-height: 1 !important;
}

#submit-job-form .vets-job-clinic-notice p {
  margin: 0 0 22px !important;
  max-width: 720px !important;
  color: rgba(16,36,54,.72) !important;
  line-height: 1.55 !important;
}

#submit-job-form .vets-job-clinic-notice .vets-button {
  margin: 0 !important;
}

#submit-job-form .fieldset-logged_in {
  display: block !important;
  width: 100% !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
}

#submit-job-form .fieldset-logged_in > label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
}

#submit-job-form .fieldset-logged_in .field {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#submit-job-form .fieldset-logged_in .account-sign-in {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px 22px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

#submit-job-form .fieldset-logged_in .account-sign-in .button {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

#submit-job-form fieldset .field,
#submit-job-form .fieldset-vets_clinic_id .field {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

@media (max-width: 700px) {
  #submit-job-form {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin: 28px auto !important;
    padding: 26px 18px !important;
    border-radius: 24px !important;
  }

  #submit-job-form .vets-job-clinic-notice {
    margin-bottom: 34px !important;
    padding: 24px 20px !important;
  }

  #submit-job-form .vets-job-clinic-notice .vets-button,
  #submit-job-form .fieldset-logged_in .account-sign-in .button {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  #submit-job-form .fieldset-logged_in .account-sign-in {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

/* ==========================================================
   Round 25 — mobile nav CTAs + final responsive cleanup
   ========================================================== */

/* Keep the mobile navigation a compact dropdown and include account actions. */
@media (max-width: 900px) {
  .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    width: min(320px, calc(100vw - 32px)) !important;
    padding: 52px 16px 16px !important;
    border-radius: 20px !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    gap: 2px !important;
  }

  .vu-header .wp-block-navigation-item__content,
  .vu-header .vu-nav a {
    padding: 11px 12px !important;
    font-size: 16px !important;
  }

  .vets-mobile-nav-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  .vets-mobile-nav-action {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .vets-mobile-nav-action::after {
    content: "↗";
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 900;
  }

  .vets-mobile-nav-action--secondary {
    background: #fff !important;
    color: #123f3f !important;
  }

  .vets-mobile-nav-action--primary {
    background: #28e0c2 !important;
    color: #071d3d !important;
  }
}

/* Registration divider must sit between the login card and account form, never on top of it. */
@media (max-width: 760px) {
  #rcp_registration_form .vets-register-create-divider {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    clear: both !important;
    margin: 28px 0 18px !important;
    padding: 0 12px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Related-job cards: reserve real vertical space and allow long taxonomy pills to wrap. */
.single-job-related-block .vets-related-card .vu-job-tags,
.vets-related-jobs .vets-related-card .vu-job-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 14px 0 20px !important;
  overflow: visible !important;
}

.single-job-related-block .vets-related-card .vu-pill,
.vets-related-jobs .vets-related-card .vu-pill {
  max-width: 100% !important;
  min-height: 34px !important;
  height: auto !important;
  padding: 9px 15px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.single-job-related-block .vets-related-card .vu-job-highlights,
.vets-related-jobs .vets-related-card .vu-job-highlights {
  position: static !important;
  clear: both !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.single-job-related-block .vets-related-card .vu-job-highlight,
.vets-related-jobs .vets-related-card .vu-job-highlight {
  position: static !important;
  min-width: 0 !important;
  line-height: 1.35 !important;
}

.single-job-related-block .vets-related-card .vu-job-highlight span,
.vets-related-jobs .vets-related-card .vu-job-highlight span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.single-job-related-block .vets-related-card,
.vets-related-jobs .vets-related-card {
  min-height: 690px !important;
  height: auto !important;
}

.single-job-related-block .vets-related-footer,
.vets-related-jobs .vets-related-footer {
  position: static !important;
  width: 100% !important;
  margin-top: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  .single-job-related-block .vets-related-card,
  .vets-related-jobs .vets-related-card {
    min-height: 0 !important;
  }
}

/* Give the footer newsletter enough room on laptop widths instead of clipping Submit. */
@media (min-width: 1001px) and (max-width: 1500px) {
  .vu-footer {
    padding-left: 4vw !important;
    padding-right: 4vw !important;
  }

  .vu-footer-grid {
    grid-template-columns: .85fr 1fr 1.15fr 1.55fr !important;
    gap: 34px !important;
  }

  .vu-footer #gform_wrapper_1 #gform_submit_button_1,
  #footer #gform_wrapper_1 #gform_submit_button_1 {
    min-width: 112px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 16px !important;
  }

  .vu-footer #gform_wrapper_1 input[type="email"],
  #footer #gform_wrapper_1 input[type="email"] {
    padding-left: 14px !important;
    padding-right: 10px !important;
    font-size: 13px !important;
  }
}

@media (min-width: 1001px) and (max-width: 1180px) {
  .vu-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==========================================================
   Round 26 — exact markup responsive fixes
   ========================================================== */

/* Mobile-only injected account actions must never leak onto desktop. */
.vets-mobile-nav-actions {
  display: none !important;
}

/* Increase the primary header logo and footer brandmark. */
.vu-logo img {
  width: 235px !important;
  max-width: 100% !important;
  height: auto !important;
}

.vu-footer-logo img {
  width: 100px !important;
  max-width: 100px !important;
  height: auto !important;
}

@media (min-width: 901px) and (max-width: 1320px) {
  .vu-logo img {
    width: 205px !important;
    padding-left: 0 !important;
  }
}

/* Full-width contained mobile menu. The X occupies the hamburger position. */
@media (max-width: 900px) {
  .vu-header .vu-logo img {
    width: min(220px, 62vw) !important;
    max-height: 50px !important;
  }

  .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 14px 18px 18px !important;
    border-width: 1px 0 0 !important;
    border-radius: 0 0 22px 22px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content {
    width: 100% !important;
    padding: 0 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-close {
    top: -58px !important;
    right: 18px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 8px !important;
    z-index: 5 !important;
    background: rgba(255,255,255,.08) !important;
  }

  .vu-header .wp-block-navigation__responsive-container-close svg {
    width: 28px !important;
    height: 28px !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    padding: 0 !important;
    margin: 0 !important;
    gap: 2px !important;
  }

  .vets-mobile-nav-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  .vu-header .vets-mobile-nav-action.vets-mobile-nav-action--secondary {
    color: #123f3f !important;
    background: #fff !important;
  }

  .vu-header .vets-mobile-nav-action.vets-mobile-nav-action--primary {
    color: #071d3d !important;
    background: #28e0c2 !important;
  }
}

/* Exact RCP register markup: keep login button + explanatory copy in one card. */
.vets-register-create-divider {
  display: none !important;
}

@media (max-width: 760px) {
  #rcp_registration_form .rcp_login_link.vets-register-login-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #rcp_registration_form .rcp_login_link .vets-register-login-prompt {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 26px 22px !important;
    border: 0 !important;
    border-radius: 26px !important;
    box-sizing: border-box !important;
    background: linear-gradient(135deg, #102436 0%, #123f3f 100%) !important;
    color: #fff !important;
    text-align: center !important;
  }

  #rcp_registration_form .rcp_login_link .vets-register-login-prompt > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 0 !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    background: #28e0c2 !important;
    color: #071d3d !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  #rcp_registration_form .vets-register-login-copy {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-align: center !important;
  }

  #rcp_registration_form .vets-register-create-divider {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    color: #7b878d !important;
    background: transparent !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  #rcp_registration_form .vets-register-create-divider::before,
  #rcp_registration_form .vets-register-create-divider::after {
    content: "";
    flex: 1 1 24px;
    height: 1px;
    min-width: 24px;
    background: rgba(16,36,54,.16);
  }

  #rcp_registration_form .rcp_user_fieldset {
    margin-top: 0 !important;
  }
}

/* Exact Gravity Forms footer markup (#field_submit_1). */
.vu-footer #gform_wrapper_1 .gform-body,
#footer #gform_wrapper_1 .gform-body,
.vu-footer #gform_wrapper_1 #gform_1,
#footer #gform_wrapper_1 #gform_1 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.vu-footer #gform_wrapper_1 #gform_fields_1,
#footer #gform_wrapper_1 #gform_fields_1 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 138px !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 7px !important;
  box-sizing: border-box !important;
}

.vu-footer #gform_wrapper_1 #field_1_3,
.vu-footer #gform_wrapper_1 #field_submit_1,
#footer #gform_wrapper_1 #field_1_3,
#footer #gform_wrapper_1 #field_submit_1 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vu-footer #gform_wrapper_1 #field_submit_1,
#footer #gform_wrapper_1 #field_submit_1 {
  display: flex !important;
  align-items: stretch !important;
}

.vu-footer #gform_wrapper_1 #gform_submit_button_1,
#footer #gform_wrapper_1 #gform_submit_button_1 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 66px !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* On ordinary laptop widths the newsletter column is too narrow for inline fields. */
@media (max-width: 1500px) {
  .vu-footer #gform_wrapper_1 #gform_fields_1,
  #footer #gform_wrapper_1 #gform_fields_1 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .vu-footer #gform_wrapper_1 #gform_submit_button_1,
  #footer #gform_wrapper_1 #gform_submit_button_1 {
    width: 100% !important;
  }
}

/* Related jobs: keep cards roomy at small-laptop widths and separate tags/highlights. */
.single-job-related-block .vets-related-card .vu-job-tags,
.vets-related-jobs .vets-related-card .vu-job-tags {
  margin-bottom: 28px !important;
}

.single-job-related-block .vets-related-card .vu-job-highlights,
.vets-related-jobs .vets-related-card .vu-job-highlights {
  margin-top: 2px !important;
  margin-bottom: 28px !important;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .vets-related-grid.is-slider {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }

  .vets-related-grid.is-slider .slick-track {
    gap: 24px !important;
  }

  .vets-related-grid.is-slider .vets-related-card {
    min-height: 720px !important;
  }
}

/* ==========================================================
   Round 27 — final mobile/header, register, cards + footer
   ========================================================== */

/* Mobile header: use a fixed viewport header so it stays pinned regardless of
   page/template overflow rules. Reserve its height in the document below. */
@media (max-width: 900px) {
  body {
    padding-top: 72px !important;
  }

  .vu-header,
  .vu-header.sticky,
  .vu-header.vu-header--sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
    z-index: 99990 !important;
  }

  body.admin-bar .vu-header,
  body.admin-bar .vu-header.sticky,
  body.admin-bar .vu-header.vu-header--sticky {
    top: 46px !important;
  }

  .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 72px) !important;
    margin: 0 !important;
    padding: 10px 18px 18px !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 0 20px 20px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  body.admin-bar .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    top: 118px !important;
    max-height: calc(100vh - 118px) !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content {
    padding: 0 !important;
    margin: 0 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .vu-header .wp-block-navigation-item__content,
  .vu-header .vu-nav a {
    padding: 11px 8px !important;
  }

  /* Put the close control exactly where the hamburger lived in the fixed bar. */
  .vu-header .wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: 14px !important;
    right: 18px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 7px !important;
    z-index: 100010 !important;
  }

  body.admin-bar .vu-header .wp-block-navigation__responsive-container-close {
    top: 60px !important;
  }

  .vets-mobile-nav-actions {
    margin-top: 8px !important;
    padding-top: 12px !important;
  }
}

@media (min-width: 783px) and (max-width: 900px) {
  body.admin-bar .vu-header,
  body.admin-bar .vu-header.sticky,
  body.admin-bar .vu-header.vu-header--sticky {
    top: 32px !important;
  }

  body.admin-bar .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    top: 104px !important;
    max-height: calc(100vh - 104px) !important;
  }

  body.admin-bar .vu-header .wp-block-navigation__responsive-container-close {
    top: 46px !important;
  }
}

/* Registration: exactly one clean company-account divider on every size. */
#rcp_registration_form .vets-register-create-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 18px 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  color: #7b878d !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

#rcp_registration_form .vets-register-create-divider::before,
#rcp_registration_form .vets-register-create-divider::after {
  content: "" !important;
  flex: 1 1 34px !important;
  height: 1px !important;
  min-width: 24px !important;
  background: rgba(16,36,54,.14) !important;
}

@media (max-width: 760px) {
  #rcp_registration_form .vets-register-create-divider {
    margin: 22px 0 18px !important;
    font-size: 11px !important;
  }
}

/* Related jobs: taxonomy is its own block, then highlights begin below it. */
.single-job-related-block .vets-related-card .vu-job-tags,
.vets-related-jobs .vets-related-card .vu-job-tags {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: start !important;
  align-content: start !important;
  column-gap: 8px !important;
  row-gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 14px 0 16px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #edf2f2 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.single-job-related-block .vets-related-card .vu-job-tags .vu-pill,
.vets-related-jobs .vets-related-card .vu-job-tags .vu-pill {
  position: static !important;
  align-self: start !important;
  justify-self: start !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.single-job-related-block .vets-related-card .vu-job-highlights,
.vets-related-jobs .vets-related-card .vu-job-highlights {
  display: flex !important;
  flex-direction: column !important;
  position: static !important;
  clear: both !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  gap: 9px !important;
  overflow: visible !important;
}

.single-job-related-block .vets-related-card .vu-job-highlight,
.vets-related-jobs .vets-related-card .vu-job-highlight {
  position: static !important;
  width: 100% !important;
  margin: 0 !important;
}

@media (max-width: 620px) {
  .single-job-related-block .vets-related-card .vu-job-tags,
  .vets-related-jobs .vets-related-card .vu-job-tags {
    grid-template-columns: 1fr !important;
  }
}

/* Footer newsletter: compact inline email + button on desktop/laptop. */
@media (min-width: 901px) {
  .vu-footer-grid {
    gap: 22px !important;
    grid-template-columns: .82fr .95fr 1.08fr 1.5fr !important;
  }

  .vu-footer #gform_wrapper_1 #gform_fields_1,
  #footer #gform_wrapper_1 #gform_fields_1 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 96px !important;
    gap: 6px !important;
    align-items: stretch !important;
    width: 100% !important;
    padding: 5px !important;
    box-sizing: border-box !important;
  }

  .vu-footer #gform_wrapper_1 input[type="email"],
  #footer #gform_wrapper_1 input[type="email"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
  }

  .vu-footer #gform_wrapper_1 #gform_submit_button_1,
  #footer #gform_wrapper_1 #gform_submit_button_1 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 96px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 8px !important;
    border-radius: 15px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 900px) {
  .vu-footer #gform_wrapper_1 #gform_fields_1,
  #footer #gform_wrapper_1 #gform_fields_1 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .vu-footer #gform_wrapper_1 #gform_submit_button_1,
  #footer #gform_wrapper_1 #gform_submit_button_1 {
    max-width: none !important;
  }
}

/* Gravity Forms' width-half utility sets grid spans; neutralise those spans for
   the custom two-column newsletter layout. */
.vu-footer #gform_wrapper_1 #field_1_3,
.vu-footer #gform_wrapper_1 #field_submit_1,
#footer #gform_wrapper_1 #field_1_3,
#footer #gform_wrapper_1 #field_submit_1 {
  grid-column: auto !important;
  grid-row: auto !important;
}

/* ==========================================================
   Round 28 — FAQ/forms + stable responsive components
   ========================================================== */

/* Mobile header/menu: one continuous sticky surface with no internal top gap. */
@keyframes vuMobileStickyDrop {
  from { opacity: 0; transform: translateY(-16px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes vuMobileMenuDrop {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .vu-header,
  .vu-header.sticky,
  .vu-header.vu-header--sticky {
    height: 72px !important;
    min-height: 72px !important;
    transform: translateY(0) !important;
  }

  .vu-header.vu-header--sticky {
    opacity: 1 !important;
    animation: vuMobileStickyDrop .38s cubic-bezier(.2,.75,.25,1) both !important;
  }

  .vu-header .vu-logo img {
    max-height: 44px !important;
    width: min(220px, 62vw) !important;
    object-fit: contain !important;
  }

  .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    top: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    animation: vuMobileMenuDrop .24s ease-out both !important;
  }

  body.admin-bar .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    top: 118px !important;
  }

  .vu-header .wp-block-navigation__responsive-close,
  .vu-header .wp-block-navigation__responsive-dialog {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 18px 18px !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item:first-child > .wp-block-navigation-item__content {
    padding-top: 8px !important;
  }

  .vu-header .wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: 14px !important;
    right: 18px !important;
    margin: 0 !important;
  }

  body.admin-bar .vu-header .wp-block-navigation__responsive-container-close {
    top: 60px !important;
  }
}

@media (min-width: 783px) and (max-width: 900px) {
  body.admin-bar .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    top: 104px !important;
  }
  body.admin-bar .vu-header .wp-block-navigation__responsive-container-close {
    top: 46px !important;
  }
}

/* Related jobs: equal OUTER card heights without fixed internal content heights.
   Slick's flex track stretches every card to the tallest card, while each card's
   content is allowed to take the natural space it needs. */
.vets-related-grid.is-slider .slick-list {
  display: block !important;
}

.vets-related-grid.is-slider .slick-track {
  display: flex !important;
  align-items: stretch !important;
}

.vets-related-grid.is-slider .slick-slide.vets-related-card,
.single-job-related-block .vets-related-grid.is-slider .vets-related-card,
.vets-related-jobs .vets-related-grid.is-slider .vets-related-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
  min-height: 0 !important;
}

.single-job-related-block .vets-related-card .vu-job-tags,
.vets-related-jobs .vets-related-card .vu-job-tags {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 14px 0 18px !important;
  padding: 12px !important;
  border: 1px solid #e2ebeb !important;
  border-radius: 18px !important;
  background: #f8fbfb !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.single-job-related-block .vets-related-card .vu-job-tags .vu-pill,
.vets-related-jobs .vets-related-card .vu-job-tags .vu-pill {
  flex: 0 1 auto !important;
  position: static !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 34px !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.single-job-related-block .vets-related-card .vu-job-highlights,
.vets-related-jobs .vets-related-card .vu-job-highlights {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  gap: 9px !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 4px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.single-job-related-block .vets-related-card .vu-job-highlight,
.vets-related-jobs .vets-related-card .vu-job-highlight {
  position: static !important;
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.single-job-related-block .vets-related-card .vets-related-footer,
.vets-related-jobs .vets-related-card .vets-related-footer {
  position: static !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin-top: auto !important;
  box-sizing: border-box !important;
}

/* FAQ — native WordPress Accordion styled to match Vets Unlimited. */
.wp-block-accordion {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 26px 0 0 !important;
}

.wp-block-accordion-item {
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid #dce6e6 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(7,29,61,.045) !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

.wp-block-accordion-item:hover,
.wp-block-accordion-item.is-open {
  border-color: rgba(40,224,194,.55) !important;
  box-shadow: 0 14px 34px rgba(7,29,61,.07) !important;
}

.wp-block-accordion-heading {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
}

.wp-block-accordion-heading__toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  width: 100% !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #102436 !important;
  font: inherit !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle-title strong {
  color: inherit !important;
  font-weight: 800 !important;
}

.wp-block-accordion-heading__toggle-icon {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #eef7f6 !important;
  color: #123f3f !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  transition: transform .2s ease, background .2s ease, color .2s ease !important;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
  transform: rotate(45deg) !important;
  background: #28e0c2 !important;
  color: #071d3d !important;
}

.wp-block-accordion-panel {
  margin: 0 !important;
  padding: 0 24px 24px !important;
  color: rgba(16,36,54,.74) !important;
}

.wp-block-accordion-panel p,
.wp-block-accordion-panel li {
  margin-top: 0 !important;
  color: rgba(16,36,54,.74) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.wp-block-group > h2#job-seeker,
.wp-block-group > h2#employer {
  margin-bottom: 18px !important;
  color: #071d3d !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  font-weight: 850 !important;
}

@media (max-width: 700px) {
  .wp-block-accordion {
    gap: 10px !important;
  }
  .wp-block-accordion-item {
    border-radius: 18px !important;
  }
  .wp-block-accordion-heading__toggle {
    min-height: 68px !important;
    padding: 18px !important;
    gap: 14px !important;
    font-size: 16px !important;
  }
  .wp-block-accordion-heading__toggle-icon {
    flex-basis: 34px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 21px !important;
  }
  .wp-block-accordion-panel {
    padding: 0 18px 20px !important;
  }
}

/* Contact Gravity Form (#4) — same rounded field/button language as the site. */
#gform_wrapper_4 {
  width: 100% !important;
  max-width: 820px !important;
  margin: 28px auto 0 !important;
  padding: 34px !important;
  border: 1px solid #dce6e6 !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(7,29,61,.055) !important;
  box-sizing: border-box !important;
}

#gform_wrapper_4 .gform_fields {
  row-gap: 20px !important;
}

#gform_wrapper_4 .gfield_label,
#gform_wrapper_4 .gform-field-label {
  color: #123f3f !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

#gform_wrapper_4 .gfield_required_text {
  color: #6f7d83 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

#gform_wrapper_4 input[type="text"],
#gform_wrapper_4 input[type="email"],
#gform_wrapper_4 input[type="tel"],
#gform_wrapper_4 input[type="url"],
#gform_wrapper_4 select,
#gform_wrapper_4 textarea {
  width: 100% !important;
  border: 1px solid #d7e3e3 !important;
  border-radius: 16px !important;
  background: #f8fbfb !important;
  color: #102436 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font: inherit !important;
}

#gform_wrapper_4 input[type="text"],
#gform_wrapper_4 input[type="email"],
#gform_wrapper_4 input[type="tel"],
#gform_wrapper_4 input[type="url"],
#gform_wrapper_4 select {
  min-height: 56px !important;
  padding: 0 18px !important;
}

#gform_wrapper_4 textarea {
  min-height: 190px !important;
  padding: 16px 18px !important;
  resize: vertical !important;
}

#gform_wrapper_4 input:focus,
#gform_wrapper_4 select:focus,
#gform_wrapper_4 textarea:focus {
  outline: none !important;
  border-color: #28e0c2 !important;
  box-shadow: 0 0 0 4px rgba(40,224,194,.15) !important;
}

#gform_wrapper_4 .ginput_counter,
#gform_wrapper_4 .gfield_description {
  color: #7a878d !important;
  font-size: 12px !important;
}

#gform_wrapper_4 .gform-footer {
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

#gform_wrapper_4 #gform_submit_button_4 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #28e0c2 !important;
  color: #071d3d !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: transform .2s ease, background .2s ease !important;
}

#gform_wrapper_4 #gform_submit_button_4:hover {
  background: #1fc9ad !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 700px) {
  #gform_wrapper_4 {
    margin-top: 22px !important;
    padding: 22px 18px !important;
    border-radius: 22px !important;
  }

  #gform_wrapper_4 .ginput_complex {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #gform_wrapper_4 #gform_submit_button_4 {
    width: 100% !important;
  }
}

/* Footer newsletter: stay inline on desktop/laptop, with compact controls. */
@media (min-width: 901px) {
  .vu-footer-grid {
    gap: 18px !important;
    grid-template-columns: .82fr .9fr 1.04fr 1.62fr !important;
  }

  .vu-footer #gform_wrapper_1 #gform_fields_1,
  #footer #gform_wrapper_1 #gform_fields_1 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 104px !important;
    gap: 6px !important;
    padding: 5px !important;
  }

  .vu-footer #gform_wrapper_1 input[type="email"],
  #footer #gform_wrapper_1 input[type="email"] {
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 11px !important;
    font-size: 12px !important;
  }

  .vu-footer #gform_wrapper_1 #gform_submit_button_1,
  #footer #gform_wrapper_1 #gform_submit_button_1 {
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .vu-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 22px !important;
  }
}

/* ==========================================================
   Round 29 — related-card footer + real mobile sticky header
   ========================================================== */

/* Registration: retire the old pseudo separator completely. The real divider
   is .vets-register-create-divider, inserted once by vets-ui.js. */
#rcp_registration_form fieldset.rcp_user_fieldset::before {
  content: none !important;
  display: none !important;
}

#rcp_registration_form fieldset.rcp_user_fieldset {
  margin-top: 0 !important;
}

/* Related jobs: equal outer cards, natural content, footer anchored to bottom. */
.vets-related-grid.is-slider .slick-track {
  display: flex !important;
  align-items: stretch !important;
}

.vets-related-grid.is-slider .slick-slide.vets-related-card,
.vets-related-grid.is-slider .vets-related-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: var(--vets-related-equal-height, 0px) !important;
  overflow: hidden !important;
}

.vets-related-card .vets-related-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

/* Keep the pills as a simple pill row — no surrounding boxed/wrapped panel. */
.single-job-related-block .vets-related-card .vu-job-tags,
.vets-related-jobs .vets-related-card .vu-job-tags {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 14px 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.single-job-related-block .vets-related-card .vu-job-tags .vu-pill,
.vets-related-jobs .vets-related-card .vu-job-tags .vu-pill {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

.single-job-related-block .vets-related-card .vu-job-highlights,
.vets-related-jobs .vets-related-card .vu-job-highlights {
  flex: 0 0 auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.single-job-related-block .vets-related-card .vets-related-footer,
.vets-related-jobs .vets-related-card .vets-related-footer,
.vets-related-card .vets-related-card-body > .vets-related-footer {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 22px !important;
  border-top: 1px solid #e7eeee !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  .vets-related-card .vets-related-card-body > .vets-related-footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .vets-related-card .vets-related-card-body > .vets-related-footer .vu-job-cta {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Mobile header: normal-flow initially; fixed + animated only once the existing
   scroll script adds .vu-header--sticky. */
@keyframes vuMobileStickyEnter29 {
  from { opacity: 0; transform: translateY(-18px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes vuMobileMenuEnter29 {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  :root {
    --vets-mobile-admin-offset: 0px;
    --vets-mobile-header-height: 72px;
  }

  body {
    padding-top: 0 !important;
  }

  .vu-header,
  .vu-header.sticky {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--vets-mobile-header-height) !important;
    min-height: var(--vets-mobile-header-height) !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    transform: none !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
    z-index: 99990 !important;
  }

  .vu-header.vu-header--sticky {
    position: fixed !important;
    top: var(--vets-mobile-admin-offset) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: translateY(0) !important;
    opacity: 1 !important;
    animation: vuMobileStickyEnter29 .4s cubic-bezier(.2,.75,.25,1) both !important;
    z-index: 99990 !important;
  }

  body.vu-header-has-sticky {
    padding-top: var(--vets-mobile-header-height) !important;
  }

  /* Open navigation is attached directly to the bottom of the viewport-fixed
     header. No hard-coded WordPress admin-bar gap. */
  .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: calc(var(--vets-mobile-admin-offset) + var(--vets-mobile-header-height)) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - var(--vets-mobile-admin-offset) - var(--vets-mobile-header-height)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    animation: vuMobileMenuEnter29 .24s ease-out both !important;
    z-index: 99989 !important;
  }

  .vu-header .wp-block-navigation__responsive-close,
  .vu-header .wp-block-navigation__responsive-dialog,
  .vu-header .wp-block-navigation__responsive-container-content {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content {
    padding: 8px 18px 18px !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item:first-child > .wp-block-navigation-item__content {
    padding-top: 6px !important;
  }

  .vu-header .wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: calc(var(--vets-mobile-admin-offset) + 14px) !important;
    right: 18px !important;
    margin: 0 !important;
    z-index: 100010 !important;
  }

  .vets-mobile-nav-actions {
    margin-top: 10px !important;
    padding-top: 12px !important;
  }
}

/* Round 32: Filled jobs are filtered server-side from public job cards/search.
   Filled dashboard glyph styling is injected alongside WPJM status markup. */

/* ==========================================================
   Round 33 — login recovery, mobile nav spacing, memberships
   ========================================================== */
.vets-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.vets-login-options .vets-login-remember,
.vets-login-options .vets-login-forgot {
  margin: 0 !important;
}

.vets-login-forgot a {
  color: #004c4c;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.vets-membership-cancel {
  margin-top: 28px;
  padding: 24px;
  border: 1px solid #e0e5e8;
  border-radius: 18px;
  background: #fff;
}

.vets-membership-cancel h3 {
  margin: 0 0 8px;
  color: #071d3d;
}

.vets-membership-cancel p {
  margin: 0 0 18px;
}

.vets-membership-cancel__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 20px;
  border: 1px solid #c73b3b;
  border-radius: 999px;
  color: #9f2727 !important;
  background: #fff;
  font-weight: 800;
  text-decoration: none !important;
}

.vets-membership-cancel__button:hover,
.vets-membership-cancel__button:focus-visible {
  color: #fff !important;
  background: #9f2727;
}

@media (max-width: 900px) {
  .vets-mobile-nav-action {
    justify-content: flex-start !important;
    gap: 18px !important;
  }

  .vets-mobile-nav-action::after {
    margin-left: auto !important;
    padding-left: 12px !important;
  }
}

/* ==========================================================
   Round 34 — frontend password reset + dashboard mobile polish
   ========================================================== */

/* Branded frontend password recovery states. */
.vets-password-card {
  width: 100%;
  max-width: 620px;
  box-sizing: border-box;
}

.vets-password-card h2 {
  margin: 0 0 10px;
  color: #071d3d;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -.035em;
}

.vets-password-intro {
  margin: 0 0 24px;
  color: rgba(16, 36, 54, .72);
  line-height: 1.55;
}

.vets-login-card .vets-login-form input[type="text"],
.vets-login-card .vets-login-form input[type="password"],
.vets-login-card .vets-login-button {
  max-width: 100%;
  box-sizing: border-box;
}

.vets-login-success,
.vets-login-error {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-radius: 14px;
  line-height: 1.45;
  font-weight: 700;
}

.vets-login-success {
  border: 1px solid rgba(0, 111, 94, .2);
  background: rgba(40, 224, 194, .12);
  color: #075f55;
}

.vets-login-error {
  border: 1px solid rgba(159, 39, 39, .22);
  background: rgba(199, 59, 59, .08);
  color: #8f2525;
}

.vets-password-back {
  margin: 18px 0 0 !important;
}

.vets-password-back a {
  color: #123f3f;
  font-weight: 800;
  text-decoration: none;
}

/* Membership cancellation is a real account action, including non-recurring
   test/lifetime memberships where RCP does not create a native cancel URL. */
.vets-employer-dashboard .rcp-table td[data-title="Actions"] .vets-membership-cancel-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 4px 0;
  padding: 10px 18px;
  border: 1px solid rgba(159, 39, 39, .55);
  border-radius: 999px;
  background: #fff;
  color: #9f2727 !important;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none !important;
  box-sizing: border-box;
}

.vets-employer-dashboard .rcp-table td[data-title="Actions"] .vets-membership-cancel-link:hover,
.vets-employer-dashboard .rcp-table td[data-title="Actions"] .vets-membership-cancel-link:focus-visible {
  background: #9f2727;
  color: #fff !important;
}

.vets-membership-cancel-confirm {
  max-width: 760px;
  margin: 0 0 56px;
  padding: 34px;
  border: 1px solid #dce6e6;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(7,29,61,.05);
}

.vets-membership-cancel-confirm h3 {
  margin: 0 0 12px;
  color: #071d3d;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1;
  letter-spacing: -.035em;
}

.vets-membership-cancel-confirm p {
  margin: 0 0 24px;
  color: rgba(16, 36, 54, .74);
  font-weight: 650;
  line-height: 1.55;
}

.vets-membership-cancel-confirm__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.vets-membership-cancel-confirm__actions form {
  margin: 0;
}

.vets-membership-cancel-confirm__button,
.vets-membership-keep-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none !important;
  box-sizing: border-box;
}

.vets-membership-cancel-confirm__button {
  border: 1px solid #9f2727;
  background: #9f2727;
  color: #fff;
  cursor: pointer;
}

.vets-membership-keep-button {
  border: 1px solid rgba(18,63,63,.18);
  background: #eef7f6;
  color: #102436 !important;
}

.vets-membership-notice {
  margin: 0 0 24px;
  padding: 14px 16px;
  border-radius: 14px;
  font-weight: 800;
  line-height: 1.45;
}

.vets-membership-notice--success {
  border: 1px solid rgba(0,111,94,.2);
  background: rgba(40,224,194,.12);
  color: #075f55;
}

.vets-membership-notice--error {
  border: 1px solid rgba(159,39,39,.22);
  background: rgba(199,59,59,.08);
  color: #8f2525;
}

@media (max-width: 760px) {
  /* RCP turns tables into cards on mobile. Width:100% plus row padding was
     making action buttons wider than the rounded card and clipping their ends. */
  .vets-employer-dashboard .rcp-table,
  .vets-employer-dashboard .rcp-table tbody,
  .vets-employer-dashboard .rcp-table tr,
  .vets-employer-dashboard .rcp-table td {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .vets-employer-dashboard .rcp-table tr {
    padding: 22px !important;
  }

  .vets-employer-dashboard .rcp-table td[data-title="Actions"] {
    overflow: visible !important;
  }

  .vets-employer-dashboard .rcp-table td[data-title="Actions"] form,
  .vets-employer-dashboard .rcp-table td[data-title="Actions"] > a,
  .vets-employer-dashboard .rcp-table td[data-title="Actions"] button,
  .vets-employer-dashboard .rcp-table td[data-title="Actions"] .vets-membership-cancel-link {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .vets-employer-dashboard .rcp-table td[data-title="Actions"] form {
    margin: 0 !important;
  }

  .vets-employer-dashboard .rcp-table td[data-title="Actions"] button,
  .vets-employer-dashboard .rcp-table td[data-title="Actions"] .vets-membership-cancel-link {
    justify-content: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }

  .vets-membership-cancel-confirm {
    width: 100%;
    max-width: 100%;
    padding: 26px 22px;
    box-sizing: border-box;
  }

  .vets-membership-cancel-confirm__actions,
  .vets-membership-cancel-confirm__actions form,
  .vets-membership-cancel-confirm__button,
  .vets-membership-keep-button {
    width: 100%;
  }
}

@media (max-width: 700px) {
  /* Keep dashboard navigation compact and deliberate instead of leaving one
     tab stranded on a second row. */
  .vets-employer-dashboard {
    width: 100%;
    max-width: 100%;
    padding-inline: 18px !important;
    box-sizing: border-box;
  }

  .vets-dashboard-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch !important;
    gap: 10px !important;
  }

  .vets-dashboard-tabs > a {
    width: 100%;
    min-width: 0;
    padding: 14px 8px !important;
    font-size: 14px !important;
    box-sizing: border-box;
  }

  .vets-dashboard-primary-actions {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 0 !important;
    gap: 10px !important;
  }

  .vets-dashboard-primary-actions > a {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 12px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 560px) {
  .vets-employer-dashboard .rcp-table-wrapper h3 {
    font-size: clamp(38px, 11vw, 48px) !important;
    overflow-wrap: anywhere;
  }

  .vets-dashboard-tabs {
    margin-bottom: 38px !important;
  }
}

@media (max-width: 900px) {
  /* The cloned mobile CTA arrow needs a deliberate gap from its label, rather
     than sticking to the text or being pushed unpredictably by inherited rules. */
  .vets-mobile-nav-action {
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  .vets-mobile-nav-action::after {
    margin-left: 16px !important;
    padding-left: 0 !important;
  }
}

/* ==========================================================
   Round 35 — authoritative mobile header/menu reset
   ========================================================== */
@media (max-width: 900px) {
  :root {
    --vets-mobile-header-height: 72px;
  }

  /* The mobile header is always attached to the viewport. Older admin-bar and
     sticky rules used higher-specificity selectors and were leaving a blank
     strip above the header after the WordPress admin bar had scrolled away. */
  html body .vu-header,
  html body .vu-header.sticky,
  html body .vu-header.vu-header--sticky,
  html body.admin-bar .vu-header,
  html body.admin-bar .vu-header.sticky,
  html body.admin-bar .vu-header.vu-header--sticky {
    position: fixed !important;
    top: var(--vets-mobile-admin-offset, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--vets-mobile-header-height) !important;
    min-height: var(--vets-mobile-header-height) !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    transform: none !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
    z-index: 100000 !important;
  }

  html body,
  html body.vu-header-has-sticky {
    padding-top: var(--vets-mobile-header-height) !important;
  }

  /* The open panel begins exactly where the fixed header ends. This overrides
     every older 100%, 104px and 118px menu offset, including admin-bar rules. */
  html body .vu-header .wp-block-navigation__responsive-container.is-menu-open,
  html body.admin-bar .vu-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: calc(var(--vets-mobile-admin-offset, 0px) + var(--vets-mobile-header-height)) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    inset-inline: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - var(--vets-mobile-admin-offset, 0px) - var(--vets-mobile-header-height)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 0 20px 20px !important;
    background: linear-gradient(135deg, #071d3d 0%, #004c4c 100%) !important;
    box-shadow: 0 18px 34px rgba(7, 29, 61, .22) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
  }

  html body .vu-header .wp-block-navigation__responsive-close,
  html body .vu-header .wp-block-navigation__responsive-dialog,
  html body .vu-header .wp-block-navigation__responsive-container-content,
  html body .vu-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
  html body .vu-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html body .vu-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 18px 18px !important;
    box-sizing: border-box !important;
  }

  html body .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 2px !important;
  }

  html body .vu-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
  html body .vu-header .wp-block-navigation__responsive-container-content .vu-nav a {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    box-sizing: border-box !important;
  }

  /* The X is the hamburger's replacement, not a second control inside the
     dropdown. MutationObserver adds .vets-menu-open as soon as WP opens it. */
  html body .vu-header.vets-menu-open .wp-block-navigation__responsive-container-open,
  html body .vu-header:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body .vu-header .wp-block-navigation__responsive-container-close,
  html body.admin-bar .vu-header .wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: calc(var(--vets-mobile-admin-offset, 0px) + 14px) !important;
    right: 18px !important;
    left: auto !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    z-index: 100020 !important;
    box-sizing: border-box !important;
  }

  html body .vu-header .wp-block-navigation__responsive-container-close svg {
    width: 28px !important;
    height: 28px !important;
  }

  /* Keep both account CTAs geometrically identical; the arrows line up on the
     same right edge no matter how long the label is. */
  html body .vu-header .vets-mobile-nav-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
    box-sizing: border-box !important;
  }

  html body .vu-header .vets-mobile-nav-action {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
  }

  html body .vu-header .vets-mobile-nav-action::after {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  html body.vets-mobile-menu-open {
    overflow: hidden !important;
  }
}

/* ==========================================================
   Round 36 — membership action stack
   Keep all three Account Overview controls equal, deliberate and vertical.
   ========================================================== */
.vets-employer-dashboard .vets-membership-action-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
}

.vets-employer-dashboard .vets-membership-action-stack > form,
.vets-employer-dashboard .vets-membership-action-stack > a,
.vets-employer-dashboard .vets-membership-action-stack > button,
.vets-employer-dashboard .vets-membership-action-stack form,
.vets-employer-dashboard .vets-membership-action-stack form > button,
.vets-employer-dashboard .vets-membership-action-stack form > input[type="submit"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* RCP can render the first two actions as either links or form buttons.
   Normalize both so they read as one clean control group. */
.vets-employer-dashboard .vets-membership-action-stack > a:not(.vets-membership-cancel-link),
.vets-employer-dashboard .vets-membership-action-stack > button,
.vets-employer-dashboard .vets-membership-action-stack form > button,
.vets-employer-dashboard .vets-membership-action-stack form > input[type="submit"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 11px 18px !important;
  border: 1px solid #28e0c2 !important;
  border-radius: 999px !important;
  background: #28e0c2 !important;
  color: #071d3d !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  cursor: pointer;
}

.vets-employer-dashboard .vets-membership-action-stack > a:not(.vets-membership-cancel-link):hover,
.vets-employer-dashboard .vets-membership-action-stack > a:not(.vets-membership-cancel-link):focus-visible,
.vets-employer-dashboard .vets-membership-action-stack > button:hover,
.vets-employer-dashboard .vets-membership-action-stack form > button:hover,
.vets-employer-dashboard .vets-membership-action-stack form > input[type="submit"]:hover {
  background: #1fc9ad !important;
  border-color: #1fc9ad !important;
  transform: none !important;
}

.vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  border: 1px solid rgba(159, 39, 39, .55) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #9f2727 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link:hover,
.vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link:focus-visible {
  background: rgba(159, 39, 39, .06) !important;
  color: #8f2020 !important;
  border-color: #9f2727 !important;
}

@media (max-width: 760px) {
  .vets-employer-dashboard .vets-membership-action-stack {
    max-width: none !important;
    gap: 10px !important;
  }

  .vets-employer-dashboard .vets-membership-action-stack > a:not(.vets-membership-cancel-link),
  .vets-employer-dashboard .vets-membership-action-stack > button,
  .vets-employer-dashboard .vets-membership-action-stack form > button,
  .vets-employer-dashboard .vets-membership-action-stack form > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
    min-height: 48px !important;
    padding-inline: 16px !important;
  }
}

/* ==========================================================
   Round 37 — make membership action buttons truly uniform
   All three controls share one footprint; cancel keeps its secondary styling.
   ========================================================== */
.vets-employer-dashboard .vets-membership-action-stack {
  width: 320px !important;
  max-width: 100% !important;
  gap: 12px !important;
}

.vets-employer-dashboard .vets-membership-action-stack > a,
.vets-employer-dashboard .vets-membership-action-stack > button,
.vets-employer-dashboard .vets-membership-action-stack > input[type="submit"],
.vets-employer-dashboard .vets-membership-action-stack > form > a,
.vets-employer-dashboard .vets-membership-action-stack > form > button,
.vets-employer-dashboard .vets-membership-action-stack > form > input[type="submit"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Use the same border thickness on primary and destructive actions so the
   visual height does not change between the teal and outline buttons. */
.vets-employer-dashboard .vets-membership-action-stack > a:not(.vets-membership-cancel-link),
.vets-employer-dashboard .vets-membership-action-stack > button,
.vets-employer-dashboard .vets-membership-action-stack > input[type="submit"],
.vets-employer-dashboard .vets-membership-action-stack > form > a:not(.vets-membership-cancel-link),
.vets-employer-dashboard .vets-membership-action-stack > form > button,
.vets-employer-dashboard .vets-membership-action-stack > form > input[type="submit"] {
  border-width: 2px !important;
  border-style: solid !important;
  border-color: #28e0c2 !important;
}

.vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 0 22px !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

@media (max-width: 760px) {
  .vets-employer-dashboard .vets-membership-action-stack {
    width: 100% !important;
    max-width: none !important;
    gap: 12px !important;
  }

  .vets-employer-dashboard .vets-membership-action-stack > a,
  .vets-employer-dashboard .vets-membership-action-stack > button,
  .vets-employer-dashboard .vets-membership-action-stack > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack > form > a,
  .vets-employer-dashboard .vets-membership-action-stack > form > button,
  .vets-employer-dashboard .vets-membership-action-stack > form > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 18px !important;
  }
}

/* ==========================================================
   Round 38 — compact membership actions
   Match the visual scale of the Payment History "View Receipt" control
   while keeping all three membership actions perfectly uniform.
   ========================================================== */
.vets-employer-dashboard .vets-membership-action-stack {
  width: 240px !important;
  max-width: 100% !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.vets-employer-dashboard .vets-membership-action-stack > a,
.vets-employer-dashboard .vets-membership-action-stack > button,
.vets-employer-dashboard .vets-membership-action-stack > input[type="submit"],
.vets-employer-dashboard .vets-membership-action-stack > form > a,
.vets-employer-dashboard .vets-membership-action-stack > form > button,
.vets-employer-dashboard .vets-membership-action-stack > form > input[type="submit"],
.vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 16px !important;
  border-width: 1px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .vets-employer-dashboard .vets-membership-action-stack {
    width: 240px !important;
    max-width: 100% !important;
    gap: 8px !important;
  }

  .vets-employer-dashboard .vets-membership-action-stack > a,
  .vets-employer-dashboard .vets-membership-action-stack > button,
  .vets-employer-dashboard .vets-membership-action-stack > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack > form > a,
  .vets-employer-dashboard .vets-membership-action-stack > form > button,
  .vets-employer-dashboard .vets-membership-action-stack > form > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 340px) {
  .vets-employer-dashboard .vets-membership-action-stack > a,
  .vets-employer-dashboard .vets-membership-action-stack > button,
  .vets-employer-dashboard .vets-membership-action-stack > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack > form > a,
  .vets-employer-dashboard .vets-membership-action-stack > form > button,
  .vets-employer-dashboard .vets-membership-action-stack > form > input[type="submit"],
  .vets-employer-dashboard .vets-membership-action-stack .vets-membership-cancel-link {
    white-space: normal !important;
    line-height: 1.1 !important;
  }
}

/* ==========================================================
   Round 40 — desktop membership actions right aligned
   Keep the existing mobile alignment unchanged.
   ========================================================== */
@media (min-width: 761px) {
  .vets-employer-dashboard .vets-membership-action-stack {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

/* ==========================================================
   Round 41 — shrink the desktop Actions column to its controls
   The Account Overview Actions column should only consume the space its
   compact button stack needs and remain anchored to the table's right edge.
   Mobile retains the existing stacked-card layout unchanged.
   ========================================================== */
@media (min-width: 761px) {
  .vets-employer-dashboard .vets-membership-dashboard .rcp-table:first-of-type {
    table-layout: auto !important;
  }

  .vets-employer-dashboard .vets-membership-dashboard .rcp-table:first-of-type th:last-child,
  .vets-employer-dashboard .vets-membership-dashboard .rcp-table:first-of-type td:last-child {
    width: 1% !important;
    white-space: nowrap !important;
  }

  .vets-employer-dashboard .vets-membership-dashboard .rcp-table:first-of-type td:last-child {
    text-align: right !important;
  }

  .vets-employer-dashboard .vets-membership-dashboard .rcp-table:first-of-type .vets-membership-action-stack {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

/* ==========================================================
   Round 42 — Add Company membership gate
   Professional two-column signup gate with a clear offer hierarchy.
   ========================================================== */
.vets-employer-dashboard .vets-new-clinic-membership-gate {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 32px 0 48px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(7, 42, 78, .12) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(7, 42, 78, .08) !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__intro,
.vets-employer-dashboard .vets-new-clinic-membership-gate__plan {
  box-sizing: border-box !important;
  padding: 42px 44px !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__intro {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: linear-gradient(145deg, #ffffff 0%, #f6fbfb 100%) !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__eyebrow,
.vets-employer-dashboard .vets-new-clinic-membership-gate__plan-label {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 12px !important;
  color: #00aa98 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate h3 {
  max-width: 520px !important;
  margin: 0 0 16px !important;
  color: #082b50 !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__lead {
  max-width: 590px !important;
  margin: 0 !important;
  color: #46576b !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__account {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-width: 420px !important;
  margin-top: 30px !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__stat {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding: 15px 18px !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .78) !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__stat span {
  color: #6d7888 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__stat strong {
  color: #082b50 !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__plan {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-left: 1px solid rgba(7, 42, 78, .10) !important;
  background: #082b50 !important;
  color: #fff !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__plan-label {
  color: #2be0c4 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__price {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  margin: 0 0 22px !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__price strong {
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__price span {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__benefits {
  display: grid !important;
  gap: 11px !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  list-style: none !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__benefits li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 25px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__benefits li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
  border: 1px solid rgba(43, 224, 196, .55) !important;
  border-radius: 50% !important;
  color: #2be0c4 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__cta.vets-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 1px solid #2be0c4 !important;
  border-radius: 999px !important;
  background: #2be0c4 !important;
  color: #082b50 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__cta.vets-button:hover,
.vets-employer-dashboard .vets-new-clinic-membership-gate__cta.vets-button:focus-visible {
  transform: translateY(-1px) !important;
  background: #55ead3 !important;
  border-color: #55ead3 !important;
  color: #082b50 !important;
}

.vets-employer-dashboard .vets-new-clinic-membership-gate__footnote {
  margin: 14px 0 0 !important;
  color: rgba(255, 255, 255, .60) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (max-width: 900px) {
  .vets-employer-dashboard .vets-new-clinic-membership-gate {
    grid-template-columns: 1fr !important;
    max-width: none !important;
    width: 100% !important;
    margin: 24px 0 40px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__plan {
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    border-left: 0 !important;
  }
}

@media (max-width: 600px) {
  .vets-employer-dashboard .vets-new-clinic-membership-gate {
    width: 100% !important;
    margin: 20px 0 36px !important;
    border-radius: 18px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__intro,
  .vets-employer-dashboard .vets-new-clinic-membership-gate__plan {
    padding: 28px 24px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate h3 {
    margin-bottom: 14px !important;
    font-size: 31px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__lead {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__account {
    gap: 10px !important;
    margin-top: 24px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__stat {
    padding: 13px 14px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__stat span {
    font-size: 9px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__stat strong {
    font-size: 23px !important;
  }

  .vets-employer-dashboard .vets-new-clinic-membership-gate__price strong {
    font-size: 27px !important;
  }
}

/* ==========================================================
   Round 43 — full-width membership gate + registration page
   ========================================================== */

/* The Add Company gate should fill the Employer Dashboard content width. */
.vets-employer-dashboard .vets-new-clinic-membership-gate {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

/* Registration page wrapper used by the replacement Gutenberg page code. */
.vu-membership-signup-shell,
.vu-membership-signup-shell.alignwide {
  width: 100% !important;
  max-width: var(--wp--style--global--wide-size, 1440px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.vu-membership-signup-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr) !important;
  align-items: stretch !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 0 !important;
}

.vu-membership-signup-grid > .wp-block-column {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Dynamic [vets_membership_offer] card. */
.vets-register-offer {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 44px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, #082b50 0%, #064a4b 100%) !important;
  box-shadow: 0 18px 50px rgba(7, 42, 78, .10) !important;
  color: #fff !important;
}

.vets-register-offer__eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 14px !important;
  color: #2be0c4 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.vets-register-offer h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(38px, 4.4vw, 62px) !important;
  line-height: .98 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}

.vets-register-offer__price {
  margin: 0 0 24px !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

.vets-register-offer__price strong {
  color: #fff !important;
  font-weight: 800 !important;
}

.vets-register-offer__lead {
  margin: 0 0 28px !important;
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.vets-register-offer__benefits {
  display: grid !important;
  gap: 13px !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  list-style: none !important;
}

.vets-register-offer__benefits li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  color: rgba(255, 255, 255, .90) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.vets-register-offer__benefits li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border: 1px solid rgba(43, 224, 196, .58) !important;
  border-radius: 50% !important;
  color: #2be0c4 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.vets-register-offer__billing {
  display: grid !important;
  gap: 4px !important;
  margin-top: auto !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(43, 224, 196, .24) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .07) !important;
}

.vets-register-offer__billing strong {
  color: #2be0c4 !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

.vets-register-offer__billing span,
.vets-register-offer__fineprint {
  color: rgba(255, 255, 255, .66) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.vets-register-offer__fineprint {
  margin: 14px 0 0 !important;
}

/* Keep the registration form full-width inside its grid column. */
.vu-membership-signup-grid #rcp_registration_form,
body #rcp_registration_form.vets-clinic-membership-registration {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* These selectors also override the older page-level max-width:960px rule. */
.vu-membership-signup-grid #rcp_registration_form,
.vu-membership-signup-grid .rcp_header,
.vu-membership-signup-grid .rcp_registration_total_details,
.vu-membership-signup-grid #rcp_subscription_levels {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  .vu-membership-signup-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .vets-register-offer {
    min-height: 0 !important;
  }
}

@media (max-width: 600px) {
  .vets-register-offer {
    padding: 30px 24px !important;
    border-radius: 18px !important;
  }

  .vets-register-offer h2 {
    font-size: 38px !important;
  }
}

/* Registration form visual system — moved into the theme so the Register page
   only needs [vets_membership_offer] and [register_form]. */
.vu-membership-signup-grid #rcp_registration_form {
  margin: 0 !important;
  padding: 38px !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 24px !important;
  background: #eef7f6 !important;
  box-shadow: 0 18px 50px rgba(7, 42, 78, .08) !important;
  color: #102436 !important;
}

.vu-membership-signup-grid .rcp_header {
  display: none !important;
}

.vu-membership-signup-grid #rcp_subscription_levels {
  margin: 0 0 26px !important;
  padding: 0 !important;
  list-style: none !important;
}

.vu-membership-signup-grid #rcp_subscription_levels li {
  margin: 0 0 12px !important;
}

.vu-membership-signup-grid #rcp_subscription_levels input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.vu-membership-signup-grid #rcp_subscription_levels label {
  position: relative !important;
  display: block !important;
  padding: 24px 70px 24px 26px !important;
  border: 2px solid #2be0c4 !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .72) !important;
  cursor: pointer !important;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.vu-membership-signup-grid #rcp_subscription_levels label::after {
  content: '✓' !important;
  position: absolute !important;
  top: 50% !important;
  right: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  transform: translateY(-50%) !important;
  border-radius: 50% !important;
  background: #2be0c4 !important;
  color: #082b50 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.vu-membership-signup-grid #rcp_subscription_levels label:hover,
.vu-membership-signup-grid #rcp_subscription_levels input[type="radio"]:checked + label {
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(43, 224, 196, .14) !important;
}

.vu-membership-signup-grid .rcp_subscription_level_name {
  display: block !important;
  margin: 0 0 6px !important;
  color: #082b50 !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

.vu-membership-signup-grid .rcp_price {
  color: #123f3f !important;
  font-weight: 800 !important;
}

.vu-membership-signup-grid .rcp_level_duration,
.vu-membership-signup-grid .rcp_level_description {
  color: rgba(16, 36, 54, .66) !important;
  font-weight: 600 !important;
}

.vu-membership-signup-grid .rcp_level_description {
  margin-top: 10px !important;
  line-height: 1.55 !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset,
.vu-membership-signup-grid #rcp_registration_form .vets-register-clinic-card,
.vu-membership-signup-grid #rcp_registration_form .rcp_gateway_fields,
.vu-membership-signup-grid #rcp_registration_form .rcp_gateway_stripe_fields {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 24px !important;
  padding: 26px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vu-membership-signup-grid #rcp_registration_form .vets-register-clinic-card--summary {
  background: #fff !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.vu-membership-signup-grid #rcp_registration_form #rcp_user_login_wrap {
  display: none !important;
}

.vu-membership-signup-grid #rcp_registration_form #rcp_user_email_wrap {
  grid-column: 1 / -1 !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset p {
  width: 100% !important;
  margin: 0 !important;
}

.vu-membership-signup-grid #rcp_registration_form label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #123f3f !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.vu-membership-signup-grid #rcp_registration_form input[type="text"],
.vu-membership-signup-grid #rcp_registration_form input[type="email"],
.vu-membership-signup-grid #rcp_registration_form input[type="password"],
.vu-membership-signup-grid #rcp_registration_form input[type="url"],
.vu-membership-signup-grid #rcp_registration_form select,
.vu-membership-signup-grid #rcp_registration_form textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 52px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(18, 63, 63, .14) !important;
  border-radius: 14px !important;
  background: #f8fbfb !important;
  color: #102436 !important;
  font-size: 15px !important;
}

.vu-membership-signup-grid #rcp_registration_form textarea {
  min-height: 110px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.vu-membership-signup-grid #rcp_registration_form input:focus,
.vu-membership-signup-grid #rcp_registration_form select:focus,
.vu-membership-signup-grid #rcp_registration_form textarea:focus {
  outline: none !important;
  border-color: #2be0c4 !important;
  box-shadow: 0 0 0 4px rgba(43, 224, 196, .16) !important;
  background: #fff !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_login_link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 22px 24px !important;
  box-sizing: border-box !important;
  border-radius: 20px !important;
  background: #082b50 !important;
  color: #fff !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_login_link p,
.vu-membership-signup-grid #rcp_registration_form .vets-register-login-copy {
  margin: 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_login_link a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: #2be0c4 !important;
  color: #082b50 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.vu-membership-signup-grid #rcp_auto_renew_wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 22px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.vu-membership-signup-grid #rcp_auto_renew {
  width: 18px !important;
  height: 18px !important;
  accent-color: #2be0c4 !important;
}

.vu-membership-signup-grid #rcp_auto_renew_wrap label {
  margin: 0 !important;
}

.vu-membership-signup-grid .rcp_registration_total {
  margin-top: 24px !important;
}

.vu-membership-signup-grid .rcp_registration_total_details {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 18px !important;
  background: #fff !important;
}

.vu-membership-signup-grid .rcp_registration_total_details thead,
.vu-membership-signup-grid .rcp_registration_total_details thead tr,
.vu-membership-signup-grid .rcp_registration_total_details .membership-amount {
  background: #082b50 !important;
}

.vu-membership-signup-grid .rcp_registration_total_details th {
  padding: 17px 20px !important;
  color: #fff !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.vu-membership-signup-grid .rcp_registration_total_details td {
  padding: 16px 20px !important;
  color: #102436 !important;
  border-bottom: 1px solid rgba(7, 42, 78, .07) !important;
}

.vu-membership-signup-grid .rcp_registration_total_details tbody tr:last-child td {
  border-bottom: 0 !important;
}

.vu-membership-signup-grid #rcp_submit_wrap {
  margin-top: 24px !important;
}

.vu-membership-signup-grid #rcp_submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border: 1px solid #2be0c4 !important;
  border-radius: 999px !important;
  background: #2be0c4 !important;
  color: #082b50 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease !important;
}

.vu-membership-signup-grid #rcp_submit:hover,
.vu-membership-signup-grid #rcp_submit:focus-visible {
  transform: translateY(-1px) !important;
  background: #55ead3 !important;
}

@media (max-width: 700px) {
  .vu-membership-signup-grid #rcp_registration_form {
    padding: 24px 20px !important;
    border-radius: 18px !important;
  }

  .vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset {
    grid-template-columns: 1fr !important;
    padding: 22px 18px !important;
  }

  .vu-membership-signup-grid #rcp_registration_form #rcp_user_email_wrap {
    grid-column: auto !important;
  }

  .vu-membership-signup-grid #rcp_registration_form .rcp_login_link {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
  }

  .vu-membership-signup-grid #rcp_registration_form .rcp_login_link a {
    width: 100% !important;
  }
}

/* ==========================================================
   Round 44 — editable Register-page offer card + full width
   ========================================================== */

/* Use the full available page width rather than constraining the registration
   section to the theme wide-size. The page itself supplies responsive gutters. */
.vu-membership-signup-shell,
.vu-membership-signup-shell.alignwide,
.vu-membership-signup-shell.alignfull {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.vu-membership-signup-grid {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr) !important;
}

/* Gutenberg-editable information card. Only the small pricing summary inside
   it is dynamic, so client copy/lists can still be edited normally in WP. */
.vu-membership-editor-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 42px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(7, 42, 78, .08) !important;
  color: #102436 !important;
}

.vu-membership-editor-card__eyebrow {
  margin: 0 0 12px !important;
  color: #039b8d !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.vu-membership-editor-card h2 {
  margin: 0 0 14px !important;
  color: #082b50 !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}

.vu-membership-editor-card__lead {
  max-width: 640px !important;
  margin: 0 0 24px !important;
  color: rgba(16, 36, 54, .72) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.vets-register-pricing-summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(150px, .8fr) !important;
  gap: 1px !important;
  width: 100% !important;
  margin: 0 0 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 18px !important;
  background: rgba(7, 42, 78, .10) !important;
}

.vets-register-pricing-summary__trial,
.vets-register-pricing-summary__annual {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 118px !important;
  padding: 22px 24px !important;
  box-sizing: border-box !important;
}

.vets-register-pricing-summary__trial {
  background: linear-gradient(145deg, #082b50 0%, #064a4b 100%) !important;
  color: #fff !important;
}

.vets-register-pricing-summary__annual {
  background: #eef7f6 !important;
  color: #102436 !important;
}

.vets-register-pricing-summary__label,
.vets-register-pricing-summary__annual > span:first-child {
  margin-bottom: 5px !important;
  color: #2be0c4 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

.vets-register-pricing-summary__annual > span:first-child {
  color: #039b8d !important;
}

.vets-register-pricing-summary strong {
  display: block !important;
  margin: 0 0 5px !important;
  color: inherit !important;
  font-size: 26px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}

.vets-register-pricing-summary span:not(.vets-register-pricing-summary__label) {
  font-size: 12px !important;
  line-height: 1.4 !important;
  opacity: .72 !important;
}

.vu-membership-editor-card__section-title {
  margin: 0 0 14px !important;
  color: #123f3f !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
}

.vu-membership-editor-card .vu-check-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 18px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
}

.vu-membership-editor-card .vu-check-list > li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  color: rgba(16, 36, 54, .80) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.vu-membership-editor-card .vu-check-list > li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border: 1px solid rgba(3, 155, 141, .34) !important;
  border-radius: 50% !important;
  background: rgba(43, 224, 196, .08) !important;
  color: #039b8d !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.vu-membership-editor-card__footer {
  margin: auto 0 0 !important;
  padding: 18px 20px !important;
  border-radius: 16px !important;
  background: #eef7f6 !important;
  color: #123f3f !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

.vu-membership-editor-card__footer strong {
  color: #082b50 !important;
}

@media (max-width: 900px) {
  .vu-membership-signup-grid {
    grid-template-columns: 1fr !important;
  }

  .vu-membership-editor-card {
    min-height: 0 !important;
  }
}

@media (max-width: 700px) {
  .vu-membership-editor-card {
    padding: 28px 22px !important;
    border-radius: 18px !important;
  }

  .vu-membership-editor-card h2 {
    font-size: 36px !important;
  }

  .vets-register-pricing-summary,
  .vu-membership-editor-card .vu-check-list {
    grid-template-columns: 1fr !important;
  }

  .vets-register-pricing-summary__trial,
  .vets-register-pricing-summary__annual {
    min-height: 0 !important;
  }
}

/* ==========================================================
   Round 45 — card belongs to the editable left content only
   ========================================================== */

/* Keep the two-column membership layout, but let each side size naturally. */
.vu-membership-signup-grid {
  align-items: start !important;
}

/* The Gutenberg-editable information on the LEFT is the visual card. */
.vu-membership-editor-card {
  height: auto !important;
  min-height: 0 !important;
  padding: 44px !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(7, 42, 78, .08) !important;
}

/* The registration form on the RIGHT should not sit inside a second large
   card. Its individual fields/sections keep their existing form styling. */
.vu-membership-signup-grid #rcp_registration_form,
body #rcp_registration_form.vets-clinic-membership-registration {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Keep the form content flush with the top of the left card. */
.vu-membership-signup-grid > .wp-block-column:last-child {
  align-self: start !important;
}

@media (max-width: 700px) {
  .vu-membership-editor-card {
    padding: 28px 22px !important;
    border-radius: 18px !important;
  }

  .vu-membership-signup-grid #rcp_registration_form,
  body #rcp_registration_form.vets-clinic-membership-registration {
    padding: 0 !important;
    border-radius: 0 !important;
  }
}

/* ==========================================================
   Round 46 — simplified two-column membership checkout
   All plan information left; selection/account/payment right.
   ========================================================== */

/* Keep the layout broad and balanced. */
.vu-membership-signup-grid {
  grid-template-columns: minmax(420px, 1.08fr) minmax(420px, .92fr) !important;
  gap: clamp(32px, 4vw, 64px) !important;
  align-items: start !important;
}

/* LEFT: one card only, with two clean plan sections inside it. */
.vu-membership-editor-card {
  padding: clamp(34px, 4vw, 56px) !important;
}

.vu-membership-editor-card__lead {
  margin-bottom: 30px !important;
}

.vu-membership-plan {
  margin: 0 !important;
  padding: 30px 0 !important;
  border-top: 1px solid rgba(7, 42, 78, .10) !important;
  background: transparent !important;
}

.vu-membership-plan:first-of-type {
  padding-top: 24px !important;
}

.vu-membership-plan__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: start !important;
  margin-bottom: 14px !important;
}

.vu-membership-plan__head h3 {
  margin: 0 !important;
  color: #082b50 !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

.vu-membership-plan__tag {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 8px !important;
  color: #039b8d !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

.vu-plan-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.vu-plan-price strong {
  color: #082b50 !important;
  font-size: 23px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

.vu-plan-price small {
  margin-top: 4px !important;
  color: rgba(16, 36, 54, .62) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.vu-membership-plan > p:not(.vu-membership-plan__tag) {
  margin: 0 0 16px !important;
  color: rgba(16, 36, 54, .74) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.vu-membership-plan .vu-check-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-bottom: 0 !important;
}

/* RIGHT: deliberately no outer card and no nested section cards. */
.vu-membership-checkout-intro {
  margin: 0 0 24px !important;
}

.vu-membership-checkout-intro h2 {
  margin: 0 0 8px !important;
  color: #082b50 !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.vu-membership-checkout-intro p {
  margin: 0 !important;
  color: rgba(16, 36, 54, .68) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Remove duplicated offer/summary cards — all product detail is on the left. */
.vu-membership-signup-grid .vets-clinic-offer-banner,
.vu-membership-signup-grid .vets-register-clinic-card--summary {
  display: none !important;
}

/* Plan selection is the only card-like control on the right. */
.vu-membership-signup-grid #rcp_subscription_levels {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 0 0 28px !important;
}

.vu-membership-signup-grid #rcp_subscription_levels li {
  margin: 0 !important;
}

.vu-membership-signup-grid #rcp_subscription_levels label {
  min-height: 68px !important;
  padding: 16px 58px 16px 18px !important;
  border: 1px solid rgba(7, 42, 78, .14) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vu-membership-signup-grid #rcp_subscription_levels label::after {
  content: '' !important;
  width: 20px !important;
  height: 20px !important;
  right: 18px !important;
  border: 2px solid rgba(7, 42, 78, .24) !important;
  background: transparent !important;
  box-shadow: inset 0 0 0 4px #fff !important;
}

.vu-membership-signup-grid #rcp_subscription_levels input[type="radio"]:checked + label {
  border-color: #20cdb7 !important;
  background: #f6fffd !important;
  box-shadow: 0 0 0 3px rgba(43, 224, 196, .10) !important;
}

.vu-membership-signup-grid #rcp_subscription_levels input[type="radio"]:checked + label::after {
  background: #20cdb7 !important;
  border-color: #20cdb7 !important;
}

.vu-membership-signup-grid .rcp_subscription_level_name {
  margin: 0 0 4px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.vu-membership-signup-grid .rcp_price,
.vu-membership-signup-grid .rcp_level_duration {
  display: inline !important;
  color: rgba(16, 36, 54, .67) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

.vu-membership-signup-grid .rcp_level_duration::before {
  content: ' · ' !important;
}

/* Descriptions belong to the left information card, not the selector. */
.vu-membership-signup-grid .rcp_level_description {
  display: none !important;
}

/* Flatten the account/company/payment sections. */
.vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset,
.vu-membership-signup-grid #rcp_registration_form .vets-register-clinic-card,
.vu-membership-signup-grid #rcp_registration_form .rcp_gateway_fields,
.vu-membership-signup-grid #rcp_registration_form .rcp_gateway_stripe_fields {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 28px !important;
  padding: 26px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(7, 42, 78, .11) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.vu-membership-signup-grid #rcp_registration_form .vets-register-clinic-card h3,
.vu-membership-signup-grid #rcp_registration_form legend,
.vu-membership-signup-grid #rcp_registration_form .rcp_gateway_fields > h3 {
  margin: 0 0 16px !important;
  color: #082b50 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

/* Login prompt becomes a light row rather than another dark box. */
.vu-membership-signup-grid #rcp_registration_form .rcp_login_link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 28px !important;
  padding: 0 0 24px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(7, 42, 78, .11) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #102436 !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_login_link p,
.vu-membership-signup-grid #rcp_registration_form .vets-register-login-copy {
  color: rgba(16, 36, 54, .74) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.vu-membership-signup-grid #rcp_registration_form .rcp_login_link a {
  min-height: 38px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(7, 42, 78, .14) !important;
  background: #fff !important;
  color: #082b50 !important;
}

/* Auto-renew is a simple line item, and is hidden for the one-off product. */
.vu-membership-signup-grid #rcp_auto_renew_wrap {
  margin: 0 0 24px !important;
  padding: 18px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(7, 42, 78, .11) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.vu-membership-signup-grid #rcp_registration_form.vets-plan-listing #rcp_auto_renew_wrap {
  display: none !important;
}

/* Checkout total becomes a compact summary, not another rounded card/table. */
.vu-membership-signup-grid .rcp_registration_total {
  margin: 28px 0 0 !important;
  padding: 24px 0 0 !important;
  border-top: 1px solid rgba(7, 42, 78, .11) !important;
}

.vu-membership-signup-grid .rcp_registration_total_details {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vu-membership-signup-grid .rcp_registration_total_details thead,
.vu-membership-signup-grid .rcp_registration_total_details thead tr,
.vu-membership-signup-grid .rcp_registration_total_details .membership-amount {
  background: transparent !important;
}

.vu-membership-signup-grid .rcp_registration_total_details th,
.vu-membership-signup-grid .rcp_registration_total_details td {
  padding: 8px 0 !important;
  border: 0 !important;
  color: #102436 !important;
  font-size: 13px !important;
}

.vu-membership-signup-grid .rcp_registration_total_details th {
  font-weight: 800 !important;
}

.vu-membership-signup-grid .rcp-total td,
.vu-membership-signup-grid .rcp_registration_total_details tr:last-child td {
  padding-top: 14px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  border-top: 1px solid rgba(7, 42, 78, .11) !important;
}

.vu-membership-signup-grid #rcp_submit {
  width: 100% !important;
  min-height: 50px !important;
}

@media (max-width: 980px) {
  .vu-membership-signup-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

@media (max-width: 700px) {
  .vu-membership-plan__head {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .vu-plan-price {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .vu-membership-plan .vu-check-list,
  .vu-membership-signup-grid #rcp_registration_form .rcp_user_fieldset {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================
   Round 47 — checkout polish: clearer pricing + cleaner totals
   ========================================================== */

/* Give the right-hand intro a little more breathing room before selection. */
.vu-membership-signup-grid .vu-membership-checkout-intro {
  margin-bottom: 38px !important;
}

/* Highlight price/payment terms on the editable left-hand card. */
.vu-membership-editor-card .vu-plan-price {
  min-width: 230px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(32, 205, 183, .34) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(43, 224, 196, .14), rgba(43, 224, 196, .05)) !important;
  box-shadow: 0 7px 20px rgba(7, 42, 78, .05) !important;
  box-sizing: border-box !important;
}

.vu-membership-editor-card .vu-plan-price strong {
  color: #082b50 !important;
  font-size: 25px !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
}

.vu-membership-editor-card .vu-plan-price small {
  margin-top: 6px !important;
  color: #31545b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  white-space: normal !important;
}

/* Keep the membership/listing choices visually separate from the checkout
   summary without using stacked horizontal rules. */
.vu-membership-signup-grid #rcp_subscription_levels {
  margin-bottom: 42px !important;
}

/* Remove stray/default separators that create a double-line effect before
   Membership Details. */
.vu-membership-signup-grid #rcp_registration_form hr,
.vu-membership-signup-grid #rcp_registration_form .rcp_registration_total::before,
.vu-membership-signup-grid #rcp_registration_form .rcp_registration_total::after {
  display: none !important;
  content: none !important;
}

.vu-membership-signup-grid .rcp_registration_total {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Membership Details and its table use the full width of the right column. */
.vu-membership-signup-grid .rcp_registration_total > h3,
.vu-membership-signup-grid .rcp_registration_total > h4,
.vu-membership-signup-grid .rcp_registration_total .rcp_registration_total_title {
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #082b50 !important;
  box-sizing: border-box !important;
}

.vu-membership-signup-grid .rcp_registration_total_details {
  display: table !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  table-layout: fixed !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.vu-membership-signup-grid .rcp_registration_total_details tbody,
.vu-membership-signup-grid .rcp_registration_total_details tr {
  width: 100% !important;
}

.vu-membership-signup-grid .rcp_registration_total_details th,
.vu-membership-signup-grid .rcp_registration_total_details td {
  width: 50% !important;
  box-sizing: border-box !important;
}

/* Where RCP outputs an empty/structural fieldset around the total, flatten it
   so its native border cannot appear as an extra rule. */
.vu-membership-signup-grid #rcp_registration_form fieldset.rcp_registration_total,
.vu-membership-signup-grid #rcp_registration_form fieldset:has(.rcp_registration_total_details) {
  border: 0 !important;
  padding: 0 !important;
}

@media (max-width: 700px) {
  .vu-membership-editor-card .vu-plan-price {
    width: 100% !important;
    min-width: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .vu-membership-signup-grid .vu-membership-checkout-intro {
    margin-bottom: 28px !important;
  }

  .vu-membership-signup-grid #rcp_subscription_levels {
    margin-bottom: 34px !important;
  }
}

/* ==========================================================
   Round 48 — product choice + membership panel refinement
   ========================================================== */

/* The product picker always supports both commercial options. Keep each row
   fully clickable and ensure the radio control cannot be covered by old styles. */
.vu-membership-signup-grid #rcp_subscription_levels li {
  display: block !important;
  width: 100% !important;
}

.vu-membership-signup-grid #rcp_subscription_levels input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.vu-membership-signup-grid #rcp_subscription_levels label {
  width: 100% !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

/* Give the editable left-hand product headers the same premium hierarchy as
   the Add Company membership panel: dark gradient, aqua eyebrow feeling and
   a strongly separated price/term treatment. */
.vu-membership-editor-card .vu-membership-plan__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 10px 0 22px !important;
  padding: 24px 26px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #082d4f 0%, #0a4e50 100%) !important;
  box-shadow: 0 16px 34px rgba(7, 42, 78, .12) !important;
  overflow: hidden !important;
}

.vu-membership-editor-card .vu-membership-plan__head h3,
.vu-membership-editor-card .vu-membership-plan__head .wp-block-heading {
  margin: 0 !important;
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}

/* Override the earlier pale price tile when the price lives inside the dark
   product header. */
.vu-membership-editor-card .vu-membership-plan__head .vu-plan-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  min-width: 190px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: right !important;
}

.vu-membership-editor-card .vu-membership-plan__head .vu-plan-price strong {
  color: #fff !important;
  font-size: 27px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}

.vu-membership-editor-card .vu-membership-plan__head .vu-plan-price small {
  margin-top: 7px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  white-space: normal !important;
}

/* Membership Details: one subtle rule only. Reset all RCP/table defaults that
   were producing both a dark and light line, then add a single separator per
   row. */
.vu-membership-signup-grid .rcp_registration_total,
.vu-membership-signup-grid .rcp_registration_total_details,
.vu-membership-signup-grid .rcp_registration_total_details thead,
.vu-membership-signup-grid .rcp_registration_total_details tbody,
.vu-membership-signup-grid .rcp_registration_total_details tr,
.vu-membership-signup-grid .rcp_registration_total_details th,
.vu-membership-signup-grid .rcp_registration_total_details td {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.vu-membership-signup-grid .rcp_registration_total_details tbody tr:not(:last-child) > th,
.vu-membership-signup-grid .rcp_registration_total_details tbody tr:not(:last-child) > td,
.vu-membership-signup-grid .rcp_registration_total_details tr:not(:last-child) > th,
.vu-membership-signup-grid .rcp_registration_total_details tr:not(:last-child) > td {
  border-bottom: 1px solid rgba(7, 42, 78, .16) !important;
}

/* Some RCP versions add a stronger line to total/renewal rows. Keep the same
   single subtle separator instead. */
.vu-membership-signup-grid .rcp_registration_total_details .rcp-total td,
.vu-membership-signup-grid .rcp_registration_total_details .rcp-renewal-date td,
.vu-membership-signup-grid .rcp_registration_total_details .membership-amount td,
.vu-membership-signup-grid .rcp_registration_total_details tr:last-child td {
  border-top: 0 !important;
}

@media (max-width: 700px) {
  .vu-membership-editor-card .vu-membership-plan__head {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 22px !important;
  }

  .vu-membership-editor-card .vu-membership-plan__head .vu-plan-price {
    min-width: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}

/* -------------------------------------------------------------------------
 * Combined Clinics + Memberships dashboard (0.2.7)
 * ---------------------------------------------------------------------- */
.vets-clinic-dashboard--combined .vets-clinic-card {
	min-height: 0;
	padding-bottom: 38px;
}

.vets-clinic-dashboard--combined .vets-clinic-card--has-membership-actions {
	min-height: 250px;
	padding-bottom: 92px;
}

.vets-clinic-dashboard--combined .vets-clinic-card__actions a {
	gap: 8px;
}

.vets-clinic-dashboard--combined .vets-clinic-card__actions .fa-pencil {
	font-size: 12px;
}

.vets-clinic-card__membership-actions {
	position: absolute;
	right: 38px;
	bottom: 34px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
}

.vets-clinic-card__cancel,
.vets-clinic-card__continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.15;
	text-decoration: none !important;
	white-space: nowrap;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.vets-clinic-card__cancel {
	border: 1px solid #df8b8b;
	background: #fff;
	color: #a22020 !important;
}

.vets-clinic-card__cancel:hover,
.vets-clinic-card__cancel:focus-visible {
	background: #fff2f2;
	border-color: #c95f5f;
	transform: translateY(-1px);
}

.vets-clinic-card__continue {
	border: 1px solid #2fd5bf;
	background: #2fd5bf;
	color: #071d3d !important;
}

.vets-clinic-card__continue:hover,
.vets-clinic-card__continue:focus-visible {
	background: #20c8b2;
	transform: translateY(-1px);
}

.vets-clinic-dashboard--combined .vets-clinic-memberships-payment-history {
	margin-top: 56px;
}

.vets-clinic-dashboard--combined .vets-clinic-memberships-payment-history > h2,
.vets-clinic-dashboard--combined .vets-clinic-memberships-payment-history > h3 {
	margin-top: 0;
}

@media (max-width: 700px) {
	.vets-clinic-dashboard--combined .vets-clinic-card {
		padding-bottom: 38px;
	}

	.vets-clinic-card__membership-actions {
		position: relative;
		right: auto;
		bottom: auto;
		grid-column: 1 / -1;
		justify-content: flex-start;
		margin-top: 4px;
	}
}


/* -------------------------------------------------------------------------
 * Employer bulk-upload request workflow (0.2.8)
 * ---------------------------------------------------------------------- */
.vets-clinic-dashboard__header--with-action {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.vets-bulk-request-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: #25d3bb;
	color: #082b50;
	font: inherit;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
	white-space: nowrap;
	transition: transform .2s ease, background-color .2s ease;
}

.vets-bulk-request-trigger:hover,
.vets-bulk-request-trigger:focus-visible {
	background: #1cc5af;
	transform: translateY(-1px);
}

.vets-bulk-request-notice {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin: 0 0 24px;
	padding: 15px 18px;
	border: 1px solid #9be5d9;
	border-radius: 16px;
	background: #ecfbf8;
	color: #0a4f47;
}
.vets-bulk-request-notice--error { border-color: #efb1b1; background: #fff3f3; color: #8c2525; }
.vets-bulk-request-notice--warning { border-color: #ecd08b; background: #fff9e9; color: #755b16; }
.vets-bulk-request-notice__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(37,211,187,.18);
}
.vets-bulk-request-notice strong,
.vets-bulk-request-notice span { display: block; }
.vets-bulk-request-notice strong { margin-bottom: 2px; color: inherit; }
.vets-bulk-request-notice div > span { font-size: 13px; line-height: 1.5; opacity: .82; }

body.vets-modal-open { overflow: hidden; }
.vets-bulk-request-modal[hidden] { display: none !important; }
.vets-bulk-request-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	padding: 24px;
}
.vets-bulk-request-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6,26,53,.68);
	backdrop-filter: blur(3px);
}
.vets-bulk-request-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(620px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 38px;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 28px 80px rgba(7,29,61,.28);
	color: #102436;
}
.vets-bulk-request-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #d8e5e3;
	border-radius: 50%;
	background: #f4faf9;
	color: #102436;
	cursor: pointer;
}
.vets-bulk-request-modal__eyebrow {
	display: block;
	margin-bottom: 9px;
	color: #0d8f7e;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.vets-bulk-request-modal h2 {
	margin: 0 44px 10px 0;
	color: #082b50;
	font-size: 34px;
	line-height: 1.08;
	letter-spacing: -.035em;
}
.vets-bulk-request-modal p { margin: 0 0 20px; color: #536968; line-height: 1.55; }
.vets-bulk-request-modal__billing {
	display: grid;
	gap: 5px;
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid #b7eae2;
	border-radius: 16px;
	background: #eefbf8;
}
.vets-bulk-request-modal__billing strong { color: #082b50; }
.vets-bulk-request-modal__billing span { color: #315b56; font-size: 14px; line-height: 1.45; }
.vets-bulk-request-modal__billing small { margin-top: 3px; color: #647a77; font-size: 11px; line-height: 1.45; }
.vets-bulk-request-modal form { display: grid; gap: 10px; }
.vets-bulk-request-modal label { color: #102436; font-size: 13px; font-weight: 900; }
.vets-bulk-request-modal input[type="email"] {
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid #cadbd9;
	border-radius: 14px;
	background: #fff;
	color: #102436;
	font: inherit;
	box-sizing: border-box;
}
.vets-bulk-request-modal input[type="email"]:focus {
	outline: 3px solid rgba(37,211,187,.18);
	border-color: #25d3bb;
}
.vets-bulk-request-modal__actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 14px;
}
.vets-bulk-request-modal__secondary,
.vets-bulk-request-modal__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	font: inherit;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}
.vets-bulk-request-modal__secondary { border: 1px solid #d7e3e2; background: #fff; color: #102436; }
.vets-bulk-request-modal__submit { border: 1px solid #25d3bb; background: #25d3bb; color: #082b50; }

@media (max-width: 700px) {
	.vets-clinic-dashboard__header--with-action { align-items: flex-start; flex-direction: column; }
	.vets-bulk-request-trigger { width: 100%; }
	.vets-bulk-request-modal { padding: 14px; }
	.vets-bulk-request-modal__dialog { padding: 28px 22px; border-radius: 22px; }
	.vets-bulk-request-modal h2 { font-size: 28px; }
	.vets-bulk-request-modal__actions { flex-direction: column-reverse; }
	.vets-bulk-request-modal__secondary,
	.vets-bulk-request-modal__submit { width: 100%; }
}

/* ==========================================================
   September 2026 safe legal / launch UI updates
   ========================================================== */
.vets-login-legal-note {
  margin: 18px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(16, 36, 54, .68);
}

.vets-login-legal-note a,
.vets-job-platform-notice a,
.vets-report-ad-link,
.vets-footer-legal-links a {
  color: #075f55;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.vets-dashboard-relist-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #eef7f6;
  color: #102436;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.vets-dashboard-relist-note i {
  margin-top: 3px;
  color: #075f55;
}

.vets-job-legal-actions {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(18, 63, 63, .12);
}

.vets-report-ad-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
}

.vets-job-platform-notice {
  margin: 12px 0 0;
  color: rgba(16, 36, 54, .66);
  font-size: 12px;
  line-height: 1.55;
}

.vets-footer-legal-links {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-top: 10px;
  font-size: 13px;
}

@media (max-width: 700px) {
  .vets-footer-legal-links {
    width: 100%;
  }
}

/* Registration billing schedule + optional marketing consent. These are
   server-rendered and intentionally sit outside the Stripe AJAX field area. */
.vets-register-offer__billing-schedule {
  display: inline !important;
}

.vu-membership-signup-grid #rcp_registration_form .vets-marketing-opt-in {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 15px 16px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(7, 42, 78, .10) !important;
  border-radius: 14px !important;
  background: #f8fbfb !important;
}

.vu-membership-signup-grid #rcp_registration_form .vets-marketing-opt-in__label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  color: rgba(16, 36, 54, .78) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.vu-membership-signup-grid #rcp_registration_form .vets-marketing-opt-in__label input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 0 !important;
  margin: 1px 0 0 !important;
}



/* ==========================================================
   v0.3.11 — signup auto-renew choice + mobile membership card
   ========================================================== */
@media (max-width: 700px) {
  .vu-membership-editor-card {
    min-width: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    overflow: hidden !important;
  }

  .vu-membership-editor-card .vu-membership-plan__head {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 22px !important;
  }

  .vu-membership-editor-card .vu-membership-plan__head .vu-plan-price,
  .vu-membership-editor-card .vu-membership-plan__head .vu-plan-price strong,
  .vu-membership-editor-card .vu-membership-plan__head .vu-plan-price small {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .vu-membership-editor-card .vu-membership-plan__head .vu-plan-price {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .vu-membership-editor-card .vu-membership-plan__head .vu-plan-price strong {
    font-size: clamp(24px, 7vw, 31px) !important;
    line-height: 1.08 !important;
  }

  .vu-membership-editor-card .vu-membership-plan__head h3,
  .vu-membership-editor-card .vu-membership-plan__head .wp-block-heading {
    font-size: clamp(22px, 6vw, 28px) !important;
  }
}


/* v0.3.15 - stable theme-owned Clinic Membership auto-renew control. */
.vu-membership-signup-grid #rcp_auto_renew_wrap {
  display: none !important;
}
.vu-membership-signup-grid .vets-auto-renew-control {
  margin: 0 0 24px !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(7, 42, 78, .11) !important;
}
.vu-membership-signup-grid .vets-auto-renew-control label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  cursor: pointer !important;
  color: #102436 !important;
  font-weight: 700 !important;
}
.vu-membership-signup-grid .vets-auto-renew-control input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: #2be0c4 !important;
  flex: 0 0 18px !important;
}
.vu-membership-signup-grid #rcp_registration_form.vets-plan-listing .vets-auto-renew-control {
  display: none !important;
}
