.nearest-bar-finder {
    max-width: 500px;
    margin: 0 auto;
    padding: 0px;
    border: 0px solid #e0e0e0;
    border-radius: 8px;
}

.nb-button {
    display: block;
    width: 100%;
    padding: 12px;
    background: #2b6cb0;
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
}

.nb-button:hover {
    background: #2c5282;
}

.nb-results {
    margin-top: 20px;
}

.nb-loading {
    text-align: left;
    font-size: 15px !important;
    padding: 10px;
    color: #4a5568;
}

.nb-result-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 5px;
    margin-top: 15px;
}

.nb-place-result {
    padding: 15px;
    background: white;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-bottom: 15px;
}

.nb-place-result h3 {
    margin-top: 0;
    color: #2d3748;
    font-size: 22px;
}

.nb-place-title {
    font-size: 20px !important;
}

.nb-place-thumbnail {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin: 10px 0;
}

.nb-distance {
    font-weight: bold;
    color: #4a5568;
    margin: 5px 0 !important;
}

.nb-approximate {
    font-size: 0.8em;
    color: #718096;
    font-style: italic;
}

.nb-address {
    color: #4a5568;
    margin: 5px 0 !important;
}

.nb-error, .nb-notice {
    padding: 10px;
    border-radius: 4px;
}

.nb-error {
    background: #fff5f5;
    color: #c53030;
    border-left: 3px solid #c53030;
}

.nb-notice {
    background: #ebf8ff;
    color: #2b6cb0;
    border-left: 3px solid #2b6cb0;
}

/* Add this to your existing CSS */
.nb-promotion {
    background-color: #ecffe6;
    padding: 8px;
    border-left: 3px solid #65a068;
    margin: 10px 0;
    font-size: 0.9em;
    color: #333;
}

.nb-promotion strong {
    color: #11aa37;
}

.nb-promotion-date {
    color: #333;
    margin-top: -13px;
}

/* Add to your CSS */
.nb-event-date {
    background-color: #ecffe6;
    padding: 0 8px 8px 8px;
    border-left: 3px solid #65a068;
    margin: -18px 0 10px;
    font-size: 0.9em;
    color: #333;
}

/* Bar Submission Form Styles */
.place-submission-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0);
}

.place-submission-form .form-group {
    margin-bottom: 20px;
}

.place-submission-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.place-submission-form input[type="text"],
.place-submission-form input[type="tel"],
.place-submission-form input[type="file"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 50px;
}

.place-submission-form button {
    padding: 10px 20px;
    background: #2b6cb0;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
}

#submission-message {
    margin-top: 20px;
    padding: 10px;
    border-radius: 4px;
}

#submission-message .success {
    color: #2d3748;
    background: #c6f6d5;
}

#submission-message .error {
    color: #e53e3e;
    background: #fed7d7;
}


/* Style for country and town dropdowns */
.place-submission-form select {
    width: 100%;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 50px;
    background-color: white;
    font-size: 14px;
}

.place-submission-form select:disabled {
    background-color: #f5f5f5;
    color: #999;
}
.nb-map-links {
    margin-top: 10px;
}

.nb-map-links a {
    color: #2b6cb0;
    text-decoration: none;
    font-weight: bold;
}

.nb-map-links a:hover {
    text-decoration: underline;
}

.nb-contact {
    color: #4a5568;
    margin: 5px 0 !important;
}

.nb-contact a {
    color: #25D366 !important; /* WhatsApp green color */
    text-decoration: none;
}

.nb-contact a:hover {
    text-decoration: underline;
}


/* Style the type dropdown */
#place-type {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 50px;
    background-color: white;
}

/* Optional: Style validation message */
.place-submission-form .invalid-feedback {
    color: #dc3545;
    font-size: 0.875em;
}

/* Promotion Form Styles */
.promotion-submission-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 10px;
    background: #f9f9f9;
}

.promotion-submission-form .form-group {
    margin-bottom: 20px;
}

.promotion-submission-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.promotion-submission-form input[type="text"],
.promotion-submission-form input[type="email"],
.promotion-submission-form select,
.promotion-submission-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.promotion-submission-form textarea {
    min-height: 100px;
}


.promotion-submission-form .notice {
    color: #e53e3e;
    font-size: 0.9em;
    margin-top: 5px;
}


.suggestions-dropdown {
    position: relative;
    margin-top: 5px;
    display: none;
}

.suggestions-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    max-height: 200px;
    overflow-y: auto;
}

.suggestions-dropdown li {
    padding: 8px 10px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
}

.suggestions-dropdown li:hover {
    background-color: #f5f5f5;
}

.suggestions-dropdown li:last-child {
    border-bottom: none;
}

.char-count {
    font-size: 0.8em;
    color: #666;
    text-align: right;
    margin-top: 5px;
}

#promotion-message .success {
    padding: 10px;
    background: #e6ffed;
    color: #22863a;
    border-radius: 4px;
    margin-top: 15px;
}

#promotion-message .error {
    padding: 10px;
    background: #ffebee;
    color: #b71c1c;
    border-radius: 4px;
    margin-top: 15px;
}

.promotion-submission-form button {
    padding: 10px 20px;
    background: #2b6cb0;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* Email styling for admin */
#promotion-email {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

#promotion-email:focus {
    border-color: #2b6cb0;
    outline: none;
}

.promotion-submission-form input[type="tel"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 10px;
}

.promotion-submission-form input[type="date"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 10px;
}

.promotion-submission-form input[type="date"]:invalid {
    border-color: #e53e3e;
}

/* Admin styles for promotions */
.widefat .column-place_name { 
    width: 15%; 
}

.widefat .column-place_type { 
    width: 10%; 
}

.widefat .column-place_town {
    width: 12%; 
}

.widefat .column-place_country { 
    width: 10%; 
}

.widefat .column-email { 
    width: 15%; 
}

/* Search Form Styles */
.nearest-bar-search {
    max-width: 600px;
    margin: 10px auto;
    padding: 10px;
    background: #fff;
    border-radius: 8px;
}

.nearest-bar-search .form-group {
    margin-bottom: 15px;
}

.nearest-bar-search label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.nearest-bar-search input[type="text"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.nearest-bar-search button {
    padding: 10px 20px;
    background: #2b6cb0;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s;
}

.nearest-bar-search button:hover {
    background: #2c5282;
}

/* Promotions List Styles */
.promotions-list {
    max-width: 800px;
    margin: 0 auto;
}

.promotion-item {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 20px;
    margin-bottom: 20px;
}

.promotion-item h3 {
    margin-top: 0;
    color: #2b6cb0;
}

.promotion-meta {
    color: #666;
    font-size: 0.9em;
    margin-bottom: 10px;
}

.promotion-category {
    font-weight: bold;
    color: #2b6cb0;
}

.promotion-content {
    line-height: 1.6;
}

/* Location Permission Message Styles */
.location-permission-message {
    position: fixed;
    bottom: 20px;
    right: 20px;
    max-width: 350px;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 9999;
    border-left: 4px solid #2b6cb0;
}

.location-permission-message p {
    margin: 0 0 15px 0;
    color: #2d3748;
}

.location-permission-message button {
    padding: 8px 15px;
    margin-right: 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.location-permission-message .enable-location-btn {
    background: #2b6cb0;
    color: white;
}

.location-permission-message .dismiss-location-btn {
    background: #e2e8f0;
    color: #4a5568;
}

@media (max-width: 480px) {
    .location-permission-message {
        left: 20px;
        right: 20px;
        max-width: none;
    }
}

/* Type filter styles */
.nb-type-filter {
    margin-bottom: 20px;
}

.nb-type-filter select {
    padding: 8px 12px;
    border-radius: 4px;
    border: 1px solid #ddd;
    font-size: 16px;
    max-width: 100%;
}

/* Listing type indicator */
.nb-type {
    color: #B2B2B2;
    margin: 5px 0 !important;
}

/* Add this to your CSS file */
.whatsapp-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2325D366' d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* Make the WhatsApp link display as inline-flex to align icon and text */
.nb-contact a {
    display: inline-flex;
    align-items: center;
    color: #25D366 !important;
}