.company-directory-form {
    /*max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 5px;*/
}

.form-step {
    margin-bottom: 20px;
}

.form-field {
    position: relative;
    margin-bottom: 20px;
}

.form-field label {
    display: block;
    font-weight: bold;
}

.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="password"],
.form-field input[type="url"],
.form-field input[type="tel"],
.form-field select,
.form-field textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.form-field textarea {
    height: 100px;
}

button {
    background-color: #D22329;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #99191d;
}

.invalid {
    border-color: red !important;
}

.error-message {
    color: #d32f2f;
    font-size: 1.2em;
    margin-top: 5px;
    display: block;
    padding: 5px;
    background-color: #ffebee;
    border-radius: 3px;
    border: 1px solid #ffcdd2;
	font-weight:bold;
}

.form-field input[type="password"] {
    padding-right: 40px;
}

.password-toggle {
    position: absolute;
    right: 10px;
    top: 38px;
    cursor: pointer;
    z-index: 10;
}

.password-toggle img.emoji {
    width: 1.5em !important;
    height: 1.5em !important;
}

.form-field.has-error .password-toggle {
    top: 38px;
}

.tick-icon {
    position: absolute;
    left: 430px;
    top: 40px;
    transform: translateY(-50%);
    color: green;
    width: 24px;
    height: 24px;
    display: none;
}

input.valid + .tick-icon {
    display: block;
}

input.invalid + .tick-icon {
    display: none;
}

.invalid {
    border-color: #d32f2f !important;
    background-color: #ffebee !important;
}

.valid {
    border-color: #4caf50 !important;
    background-color: #e8f5e9 !important;
}


.company-directory-dashboard {
    margin-top: 20px;
}

.company-listings-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.company-listings-table th,
.company-listings-table td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}

.company-listings-table th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.company-listings-table tr:nth-child(even) {
    background-color: #f9f9f9;
}

.company-listings-table a {
    color: #D22329;
    text-decoration: none;
}

.company-listings-table a:hover {
    text-decoration: underline;
}

/* New styles for company directory display */
.company-directory-archive {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: "Raleway", Arial, sans-serif;
}

.company-directory-filters {
    margin-bottom: 30px;
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 5px;
}

.clear-filters {
font-size: 1.1em;
text-transform:uppercase;
}

.company-directory-az-links {
    margin: 20px 0;

}

.company-directory-az-links .az-links a {
    display: inline-block;
    padding: 5px 10px;
    margin: 2px;
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 3px;
    text-decoration: none;
    color: #333;
}

.company-directory-archive .nav-links {
    margin: 20px 0;

}

.company-directory-archive .nav-links a,
.company-directory-archive .nav-links span {
font-size: 1.8em;
    color: #333;
  display: inline-block;
  padding: 0px 4px;
  margin-right: 6px;
  cursor: pointer;
}

.company-directory-archive .nav-links span.current {
font-weight:bold;
}
.company-directory-archive .nav-links a.next::after {
  content: '\00BB';
  color:#333333;
  margin-left:3px;
  }

.company-directory-heading {
line-height: 125%;
  margin: 0.8em 0;
    margin-bottom: 0.8em;
  font-weight: 600;
  font-family: "Raleway", Arial;
  font-size: 2em;
  display:inline-block;

}

.company-directory-az-links .az-links a:hover {
    background-color: #e0e0e0;
}

.company-directory-filters form {
    display: flex;
    gap: 15px;
    align-items: center;
	flex-wrap:wrap;
}

.company-directory-filters input[type="text"],
.company-directory-filters select {
    flex-grow: 1;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
	margin:0 !important;
	width:20%;
	min-width:150px;
}

.company-directory-filters button {
    padding: 10px 20px;
    background-color: #D22329;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

.company-directory-filters button:hover {
    background-color: #99191d;
}

.company-listings {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.company-listing {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: flex;
    align-items: flex-start;
}

.company-logo {
    flex: 0 0 150px;
    /*margin-right: 20px;*/
}

.company-logo img {
width:100%;
    max-width: 250px;
    height: auto;
    border-radius: 4px;
}

#singleContent .company-logo {
flex: 0 0 250px;
}

.company-info {
    flex: 1;
}

.company-listing h2 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 24px;
}

.company-listing h2 a {
    text-decoration: none;
}

.company-listing h2 a:hover {
    text-decoration: underline;
}

.company-details p {
    margin: 8px 0;
    font-size: 16px;
}

.company-details strong {
    font-weight: 600;
    color: #333;
}

.company-listing-details {
    /*max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);*/
}

.company-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.company-info {
    display: flex;
    justify-content: space-between;
    align-items: top;
}

.company-header h1 {
    margin: 0;
    font-size: 32px;
    color: #333;
}

.free-listing .company-logo,
.free-listing .company-social,
.free-listing .responsive-tabs-wrapper {
display:none;
}


.company-description, .company-info, .company-social, .company-tags {

}

.company-field-description {
font-style: italic;
font-size: 1.2em;
font-weight:400;
display:block;
}

.company-description h2, .company-info h2, .company-social h2, .company-tags h2 {
    font-size: 2.2em;
    color: #333;
    margin-bottom: 15px;
}

.company-description p, .company-info p, .company-social p {

    margin-bottom: 10px;
}

.company-social a {
font-size: 2em;
margin-right:20px;
}

.company-social a .fa-linkedin {
color:#0072b1;
}

.company-social a .fa-square-x-twitter {
color:#1DA1F2;
}

.company-social a .fa-square-facebook {
color:#0084ff;
}

.company-social a .fa-square-instagram {
color:#e1306c;
}

.company-social a .fa-square-youtube {
color:#ff0033;
}

.company-tags ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
	
}

.company-tags li {
    display: inline-block;
    background-color: #f0f0f0;
    padding: 5px 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    border-radius: 3px;
}

#contentContainer section #company-tags-container ul,
#contentContainer section #company-regions-container ul {
display:grid;
width:100%;
grid-template-columns: repeat(3, 1fr);
}
#contentContainer section #company-tags-container ul li,
#contentContainer section #company-regions-container ul li{
margin-left:0;
font-size: inherit;
list-style-type:none;
}

#contentContainer section #company-tags-container ul li label,
#contentContainer section #company-regions-container ul li label{
font-weight:400;
}

@media (max-width: 768px) {
    .company-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .company-logo {
        margin-top: 10px;
    }
}

@media (max-width: 510px) {
.company-info {
display:block;
}
    .company-details{
        width:100%
    }

    .company-logo {
       width:100%;
    }
}

.confirmation-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.confirmation-table th {
    background-color: #f2f2f2;
    text-align: left;
    padding: 10px;
    font-weight: bold;

}

.confirmation-table td {
    padding: 8px;
    border-bottom: 1px solid #ddd;
}

.confirmation-table tr:last-child td {
    border-bottom: none;
}

/* Styles moved from company-directory-form.php */
#discount-message {
    margin-top: 5px;
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: bold;
}

#discount-message.success {
    background-color: #e8f5e9;
    color: #4caf50;
    border: 1px solid #4caf50;
}

#discount-message.error {
    background-color: #ffebee;
    color: #d32f2f;
    border: 1px solid #d32f2f;
}

.discount-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.discount-table th, .discount-table td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left;
}

.discount-table th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.discount-table tr:last-child {
    font-weight: bold;
}

/* Add this to the existing CSS file */

 /* .company-directory-thank-you {
  max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
}

.company-directory-thank-you h1 {

}

.company-directory-thank-you p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.company-directory-thank-you .button {
    display: inline-block;
    background-color: #D22329;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 4px;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

.company-directory-thank-you .button:hover {
    background-color: #99191d;
}*/

.company-directory-login-form {
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.company-directory-login-form h2 {
    margin-top: 0;
    margin-bottom: 20px;
    text-align: center;
    color: #333;
}

.company-directory-login-form .form-field {
    margin-bottom: 15px;
}

.company-directory-login-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.company-directory-login-form input[type="email"],
.company-directory-login-form input[type="password"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.company-directory-login-form .form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.company-directory-login-form .button {
    background-color: #D22329;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.company-directory-login-form .button:hover {
    background-color: #99191d;
}

.company-directory-login-form .lost-password-link {
    color: #D22329;
    text-decoration: none;
    font-size: 0.9em;
}

.company-directory-login-form .lost-password-link:hover {
    text-decoration: underline;
}

/* Reset Password Styles */
.company-directory-reset-password {
    max-width: 400px;
    margin: 40px auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.company-directory-reset-password h2 {
    margin-top: 0;
    margin-bottom: 20px;
    text-align: center;
    color: #333;
}

.company-directory-reset-password .form-field {
    margin-bottom: 15px;
}

.company-directory-reset-password label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.company-directory-reset-password input[type="password"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.company-directory-reset-password button {
    width: 100%;
    padding: 10px;
    background-color: #D22329;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

.company-directory-reset-password button:hover {
    background-color: #99191d;
}

#reset-password-message {
    margin-top: 15px;
    padding: 10px;
    border-radius: 4px;
}

#reset-password-message .success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

#reset-password-message .error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.paid-listing .aside {
display:none;
}

.paid-listing .main {
width:100%;
max-width:825px;
}
