/* Custom column widths for better layout */
.wp-list-table .column-mvyp_email 
{
    width: 18%;
}

.wp-list-table .column-mvyp_service_type 
{
    width: 12%;
    text-align: center;
}

.wp-list-table .column-mvyp_phone 
{
    width: 12%;
}

.wp-list-table .column-mvyp_status 
{
    width: 10%;
    text-align: center;
}

/* Status badge hover effects */
.mvyp-status-badge 
{
    cursor: default;
    transition: opacity 0.2s ease;
}

.mvyp-status-badge:hover 
{
    opacity: 0.85;
}

/* Make email and phone links more visible */
.column-mvyp_email a,
.column-mvyp_phone a 
{
    text-decoration: none;
    color: #2271b1;
}

.column-mvyp_email a:hover,
.column-mvyp_phone a:hover 
{
    text-decoration: underline;
    color: #135e96;
}

/* Category styling */
.column-mvyp_category 
{
    font-size: 13px;
    line-height: 1.5;
}
.mvyp_meta_box
{
	width:100%;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    grid-gap: 10px;
}

.grid-item {
    flex: 1 1 calc(15%); /* Two items per row on small screens */
    margin-bottom: 10px;
}

.grid-item img {
    height: 75px;
    width: 75px;
    display: block;
    margin: 0 auto;
}
}
.wpcf7-form p {
    margin-bottom: 25px;
}
/* Yellow Pages*/
/* Basic styling for the table */
#mv-yellow-pages {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    font-size: 16px;
    color: #333;
}

#mv-yellow-pages th, #mv-yellow-pages td {
    padding: 0.75rem;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

#mv-yellow-pages th {
    background-color: #f4f4f4;
    font-weight: bold;
}

#mv-yellow-pages td {
    background-color: #fff;
    word-wrap: break-word;
}

/* Responsive styling for smaller screens */
@media screen and (max-width: 768px) {
    #mv-yellow-pages thead {
        display: none;
    }

    #mv-yellow-pages, #mv-yellow-pages tbody, #mv-yellow-pages tr {
        display: block;
        width: 100%;
        margin-bottom: 3rem; /* Adds space between rows */
        border:0;
    }

    #mv-yellow-pages td {
        display: block;
        text-align: left;
        position: relative;
        padding: 1rem 0; /* Adds space around text in each cell */
        border: none; /* Removes border from cells */
        /*border-bottom: 1px solid #ddd; /* Adds bottom border for separation */
    }

    #mv-yellow-pages td::before {
        content: attr(data-label);
        /* position: absolute;*/
        left: 0;
        width: 45%; /* Adjust as needed to fit your design */
        /* padding-left: 1rem;*/
        white-space: nowrap;
        font-weight: bold;
        color: #333;
        background-color: #f4f4f4; /* Matches header background */
        top: 0;
        bottom: 0;
        display: block;
        align-items: center;
        width:100%;
    }
     table#mv-yellow-pages tr
    {

            /* border: 2px solid red !important; */
            /* border: 1px solid; */
            padding: 10px;
            box-shadow: 0px 0px 5px 0px;
    }
}
input#mv-yellow-pages-search {
    border: 1px solid #e0e0e0;
    margin-bottom: 15px;
    margin-top: 15px;
}

.yellow-pages-categories .grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    grid-gap: 35px;
}
}
/*form.wpcf7-form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}*/

.wpcf7-form p {
    margin-bottom: 15px!important;
    width: 60%;
}
/*.active-filter
{
  filter: grayscale(100%) invert(100%);

}*/
.wpcf7-form .wpcf7-form-control-wrap textarea {
    margin-bottom: 0px!important;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background-color: #F57223;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
 background-color: #000; 
 transition: 0.3s ;
}
textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required {
    height: 100px;
}
input#mvyp-email {
    width: 100%;
}
input#mvyp-phone {
    width: 100%;
}
textarea#mvyp-address {
    width: 100%;
}
input#mvyp-description {
    width: 100%;
}
input#mvyp-payment-code {
    width: 100%;
}
input#mvyp-spoc {
    width: 100%;
}
input#mvyp-link {
    width: 100%;
}
/*.active-filter {
  filter: grayscale(100%) invert(100%);
}*/
@media (min-width: 576px) and (max-width:767px) {
    .wpcf7-form p {
        margin-bottom: 15px;
        width: 100%;
    }
}

.grid-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.grid-item {
  /*  flex: 1 1 calc(33.33% - 10px); /* Three items per row with space between them */
  box-sizing: border-box;
  margin: 5px;
  text-align: center;
}



@media (max-width: 767px) {
    .grid-container {
        display: flex !important;
        flex: 1 1 calc(33% - 10px);
    }
}
   /* .grid-item {
        flex: 1 1 calc(20% - 10px); 
        max-width: calc(50% - 10px);
    }*/
}
.grid-item {
    text-align: center;
}

/*Loader*/
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: #000000d9; /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
  background-color: #fefefe;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 15%; /* Could be more or less, depending on screen size */
}

.loader {
  border: 15px solid #f3f3f3;
  border-radius: 50%;
  border-top: 15px solid #013CA0;
  width: 75px;
  height: 75px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
  margin: 0 auto;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/*Reminders Feature*/
#yellowPagesReminderTool .button,
#yellowPagesReminderTool button {
    background-color: #F57223; /* Yellow */
    color: white;               /* Black text for contrast */
    border: none;
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

#yellowPagesReminderTool .button:hover,
#yellowPagesReminderTool button:hover {
    background-color: #F57223; /* Darker yellow on hover */
}

/* Renew Form */
/* Form container */
.mvypRenewForm {
  max-width: 700px;
  margin: 0 auto;
  padding: 2rem;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  font-family: Arial, sans-serif;
}

/* Labels */
.mvypRenewForm label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
  font-size: 14px;
}

/* Inputs, Textarea, Select */
.mvypRenewForm input[type="text"],
.mvypRenewForm input[type="email"],
.mvypRenewForm input[type="tel"],
.mvypRenewForm input[type="url"],
.mvypRenewForm input[type="number"],
.mvypRenewForm input[type="password"],
.mvypRenewForm input[type="search"],
.mvypRenewForm textarea,
.mvypRenewForm select {
  width: 100%;
  padding: 10px 12px;
  margin-bottom: 16px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fafafa;
  font-size: 14px;
  transition: border 0.2s ease, background 0.2s ease;
}

/* Focus styles */
.mvypRenewForm input:focus,
.mvypRenewForm textarea:focus,
.mvypRenewForm select:focus {
  border-color: #2f5496; /* Your brand color */
  background: #fff;
  outline: none;
}

/* Textarea */
.mvypRenewForm textarea {
  min-height: 100px;
  resize: vertical;
}

/* Radio buttons */
.mvypRenewForm .radio-group {
  display: flex;
  gap: 1rem;
  margin-bottom: 16px;
}

.mvypRenewForm .radio-group input[type="radio"] {
  margin-right: 6px;
}

/* Button */
.mvypRenewForm button {
  display: inline-block;
  padding: 12px 24px;
  background-color: #f26522;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.mvypRenewForm button:hover {
  background-color: #d84e0d;
}

#payment-section {
    display: none;
}

.mvyp-message {
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 6px;
    font-weight: 600;
}

.mvyp-message.error {
    background: #ffe0e0;
    color: #b30000;
    border: 1px solid #cc0000;
}

.mvyp-message.success {
    background: #e0ffe5;
    color: #006600;
    border: 1px solid #009900;
}
