/*
Theme Name:		    Directory
Theme URI:		    https://wpgeodirectory.com/downloads/directory-theme/
Description:	    Directory is a unique theme concept, for WordPress.org. With Directory Theme you can easily create an online portal and submit your business listings. Directory utilises the power of the WordPress block editor, GeoDirectory and Bootstrap to be able to create a fast loading modern directory site.
Tags:               full-site-editing, blog, food-and-drink, two-columns, editor-style, block-styles
Author:			    AyeCode Ltd
Author URI:		    https://ayecode.io
Template:		    blockstrap
Version:		    3.0.10
Text Domain:	    directory
Requires at least:  6.1
Requires PHP:       7.2
Tested up to:       6.8

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


body:not(.home) {
    padding-top: 60px;
}

/* Target the search box container */
.geodir-map-cat-filter-wrap { /* replace with your actual search box class or ID */
  position: absolute !important;
  top: 50px; /* adjust this so it sits right under the map controls */
  right: 10px; /* adjust this for alignment */
  z-index: 9999; /* keep it above the map */
  width: 250px; /* optional: tweak width as needed */
  height: 70px
}

/* Make sure the map container is positioned relative */
#gd_map_canvas_directory_cat {
  position: relative;
}

.wp-block-geodirectory-geodir-widget-notifications{
    margin-top: 50px !important;
}

span.geodir_post_meta_icon.geodir-i-file{
    display: none !important;
}

span.geodir-cf-file-name{
    display: none !important;
}

.geodir-field-brand_slogan_or_tagline{
    font-weight: 500;
}

span.geodir_post_meta_title {
    display: none;
}

/* .gd-tab-list-title {
    display: none;
  } */
  
.attorney-headshot, .cpa-headshot {
    width: 350px;        /* adjust size as needed */
    height: 350px;       /* match width for perfect circle */
    object-fit: cover;   /* crop image to fill the shape */
    object-position: center top; /* center the image */
    border-radius: 50%;  /* makes it a circle */
    overflow: hidden;    /* ensures no bleed */
    display: block;      /* useful for margin/padding */
    margin-bottom: 10px;  /* space below the image */
}



.business-logo{
    object-fit: contain !important;
    height: auto !important;
    max-height: 350px;
    width: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto 20px;
}

.new-search2{
    padding: 2px;
    background: white;
    border-radius: 50px;
    

}

.new-search input{
   
}

/* WordPress Search Styling */
.wp-block-search {
    max-width: 800px;
    margin: 0 auto;
}

.wp-block-search__inside-wrapper {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 50px;
    padding: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.wp-block-search__input {
    border: none !important;
    outline: none !important;
    padding: 12px 20px !important;
    width: 100% !important;
    background: transparent !important;
    font-size: 16px;
}

.wp-block-search__button {
    background: #129dee !important;
    border: none !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: unset !important;
    margin: 0 !important;
}

.wp-block-search__button svg {
    width: 20px;
    height: 20px;
    fill: white;
}

/* Remove focus outlines but maintain accessibility */
.wp-block-search__input:focus {
    box-shadow: none !important;
}

/* Ensure the container spans full width on mobile */
@media (max-width: 768px) {
    .wp-block-search {
        width: 100%;
        padding: 0 15px;
    }
}





/* Optional: hide badges, stars, buttons 
.gridview_one .geodir-badge,
.gridview_one .geodir-rating,
.gridview_one .geodir-listing .geodir-action-buttons {
    display: none !important;
}
*/
/* certification badges */

.cert-badge {
  display: flex;
  align-items: center;
  font-size: 20px;
  margin-bottom: 6px;
  color: #333;
}

.cert-badge .checkmark {
  color: green;
  font-size: 18px;
  margin-right: 6px;
}

/*map bubble*/

/*.geodir_post_meta .list-group-item .list-group-item-action  .geodir-field-post_title{
    display:none !important;
}

.geodir-images .aui-gallery .geodir-images-n-1 .geodir-images-image .carousel-inner{
    /*display: none !important;
}
*/
/* cityview trusted badge? */

.gold-circle-check {
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    line-height: 1.2em;
    border-radius: 50%;
    background: linear-gradient(135deg, #13a6f0 60%, #026ed9 100%);
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.1em;
    margin-right: 0.5em;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    vertical-align: middle;
}

.gd-category-list {
    margin: 0 0 1em 1.2em;
    padding: 0;
    list-style-type: disc;
}
.gd-category-list li {
    font-weight: 500;
    margin-bottom: 0.25em;
}

/* magazine-availabe and cert badges */

.cert-badge.cityview-magazine {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0;
}

.cert-badge.cityview-magazine {
    height: 48px;
    width: auto;
    vertical-align: middle;
}

.cert-badge.cityview-magazine, .magazine-label {
    font-size: 1em;
    vertical-align: middle;
}

.magazine-icon {
    height: 80px;
    width: auto;
    vertical-align: middle;
}


/* Badge Styles */
/* Container for multiple badges */
.badge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns */
    gap: 16px; /* space between badges */
    align-items: center;
    margin: 8px 0;
}

/* Badge Icon Styles */
.badge-icon {
    position: relative;
    display: inline-block;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.badge-icon img {
    width: 125px; /* Adjust size as needed */
    height: 125px; /* Adjust size as needed */
    /*border-radius: 50%;  Makes it circular 
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);*/
}

.badge-icon:hover {
    transform: scale(1.1);
}
.badge-icon2:hover {
    transform: scale(1.1);
}

/* Tooltip Style */
.tooltip-text {
    visibility: hidden;
    opacity: 0;
    width: max-content;
    background-color: #fff;
    color: #222;
    text-align: center;
    border-radius: 8px;
    padding: 6px 10px;
    position: absolute;
    z-index: 10;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    transition: opacity 0.5s;
    font-size: 0.8em;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    text-wrap: wrap;
}

/* Tooltip arrow */
.tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

/* Show tooltip on hover or tap */
.badge-icon:hover .tooltip-text,
.badge-icon:focus .tooltip-text,
.badge-icon:active .tooltip-text {
    visibility: visible;
    opacity: 1;
}
/* Ensure .business-logo with .embed-item-cover-xy uses object-fit: contain and overrides previous rules */
.business-logo {
    object-fit: contain !important;
    height: auto !important;
    width: auto !important;
    max-height: 350px !important;
    max-width: 100% !important;
}

/* Hide thumbnail in GeoDirectory list view 
.geodir-listview .geodir-post-img,
.geodir-listview .geodir-post-img img {
    display: none !important;
}

.geodir-listview .geodir-post {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.geodir-listview .geodir-post-content {
    margin-left: 0 !important;
}
*/
/* Only hide thumbnail and favorite icon in list view 
.row-cols-md-0 .card-img-top,
.row-cols-md-0 .card-img-top *,
.row-cols-md-0 .gd-fav-info-wrap {
    display: none !important;
}
*/
/* Make the card layout more like a clean list 
.row-cols-md-0 .card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: unset;
    background: #fff;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid #eee;
    margin-bottom: 0;
    padding: 16px 0;
}

.row-cols-md-0 .card-body {
    padding: 0 !important;
}
*/
.features li {
  list-style: none;
  margin: 0.5em 0;
  font-weight: bold;
}

.subtext {
  font-size: 0.9em;
  color: #eee;
  margin-bottom: 1.5em;
}

.price {
  font-size: 1.2em;
  font-weight: bold;
  margin-top: 1em;
}

.badge-grid {
    display: flex;
    align-items: center; /* vertically center content */
    gap: 8px;            /* optional: space between icon and text */
}

.badge-icon {
    display: flex;
    align-items: center;
    height: auto;        /* ensure no fixed height */
    overflow: visible;   /* allow image to show fully */
}

.badge-icon img {
    display: block;      /* removes extra space below image */
    width: 125px;
    height: auto;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

@media (max-width: 700px) {
    .badge-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .badge-grid {
        grid-template-columns: 1fr;
    }
}

.expandable-search {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: auto;
}

.search-input {
  width: 0;
  padding: 0;
  opacity: 0;
  border: none;
  transition: all 0.3s ease;
  border-radius: 25px;
  background-color: #fff;
  height: 40px;
  margin-right: 10px;
  box-shadow: 0 0 0 1px #ccc;
}

.expandable-search.expanded .search-input {
  width: 250px;
  padding: 0 15px;
  opacity: 1;
}

.search-btn {
  background-color: #2196f3;
  color: white;
  border: none;
  border-radius: 50%;
  height: 40px;
  width: 40px;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home .expandable-search{
    display: none !important;
}

.gd_map_canvas_directory_TopLeft{
    margin-top: 125px !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.home-page-topdocs {
    display: none !important;
}


.geodir-post-claim h3 {
    font-size: 1.2em !important;
    margin-bottom: 10px !important;
}

.geodir-post-claim button{
    width: 100% !important;
}

/* Container for the bob-title shortcode */
.bob-title {
    display: flex;
    align-items: center;
    gap: 10px; /* Space between the title and the badge */
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 0;
}

/* Badge styles */
.bob-badge {
    width: 50px; /* Adjust size as needed */
    height: auto;
    display: inline-block;
    vertical-align: middle;
}

/* Gold badge specific styles */
.bob-gold {
  
    padding: 5px;
}

/* Silver badge specific styles */
.bob-silver {

    padding: 5px;
}

/* Bronze badge specific styles */
.bob-bronze {

    padding: 5px;
}

/* payments_accepted component styles */
.cv-payments {
    display: block;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    color: #222;
}
.cv-payments__title {
    font-weight: 700;
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
}
.cv-payments__list {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cv-payments__item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem; /* reduced from 0.5rem to tighten icon-to-text spacing */
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e6e9ef;
    box-shadow: 0 1px 2px rgba(28,31,34,0.03);
    font-size: 0.9rem;
}
.cv-payments__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;          /* allow icon to size to its content */
    min-width: 18px;     /* ensure consistent baseline */
    height: 20px;
    padding: 0;          /* remove internal padding that can push label */
}
.cv-payments__icon .material-icons {
    font-size: 16px; /* slightly smaller to save space */
    line-height: 1;
    display: block;
}
.cv-payments__label { white-space: nowrap; }

/* Brand tints */
.cv-payments__visa { background: linear-gradient(180deg,#eef6ff,#f4fbff); }
.cv-payments__mastercard { background: linear-gradient(180deg,#fff5f2,#fff9f7); }
.cv-payments__amex { background: linear-gradient(180deg,#eef6ff,#f7fcff); }
.cv-payments__discover { background: linear-gradient(180deg,#fffdf5,#fffefb); }
.cv-payments__paypal { background: linear-gradient(180deg,#f3f7ff,#eef4ff); }

/* small size variants */
.cv-payments--xs .cv-payments__item { padding: 4px 8px; font-size: 12px; }
.cv-payments--sm .cv-payments__item { padding: 5px 9px; font-size: 13px; }
.cv-payments--md .cv-payments__item { padding: 6px 10px; font-size: 14px; }
.cv-payments--lg .cv-payments__item { padding: 8px 12px; font-size: 15px; }

/* utility: hide label and show only icons */
.cv-payments--icons-only .cv-payments__label { display: none; }

/* accessibility focus */
.cv-payments__item:focus { outline: 3px solid rgba(18,157,238,0.18); }

/* responsive wrap */
@media (max-width: 480px) {
    .cv-payments__list { gap: 0.35rem; }
    .cv-payments__item { padding: 6px 8px; font-size: 13px; }
}

/* small brand logo text for payments */
.cvp-logo {
    font-weight: 700;
    font-size: 13px;
    line-height: 1;
    display: inline-flex;      /* center single-char logos */
    align-items: center;
    justify-content: center;
    padding: 0 1px;           /* small horizontal padding to avoid clipping */
    min-width: 14px;          /* keep narrow */
}
.cvp-logo.cvp-applepay { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; }
.cvp-logo.cvp-googlepay { color: #4285F4; }
.cvp-logo.cvp-paypal { color: #003087; }
.cvp-logo.cvp-venmo { color: #3D95CE; }
.cvp-logo.cvp-cashapp { color: #00C244; }
.cvp-logo.cvp-visa { letter-spacing: 0.5px; }
.cvp-logo.cvp-mastercard { letter-spacing: 0.5px; }
.cvp-logo.cvp-amex { letter-spacing: 0.5px; }
.cvp-logo.cvp-discover { letter-spacing: 0.5px; }

.wp-block-geodirectory-geodir-widget-author-actions.actions {
    position: relative;
    z-index: 1050;
}