/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Related Providers Shortcode */
.related-providers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.related-provider {
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow 0.3s ease;
}

.related-provider a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
    padding: 10px;
}

.related-provider img {
    width: 100%;
    height: auto;
    object-fit: cover;
    margin-bottom: 10px;
    border-radius: 4px;
}

.related-provider h4 {
    font-size: 16px;
    line-height: 1.4;
    margin-top: auto;
    margin-bottom: 0;
    min-height: 48px; /* To reserve space even for short titles */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Show up to 2 lines only */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* .related-providers-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.related-provider-item {
    width: calc(25% - 20px);
}
.related-provider-item img {
    width: 100%;
    height: auto;
    display: block;
} */

/* Providers Shortcode */
.custom-post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin: 30px 0;
}
.custom-post-item {
    background: #f9f9f9;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
}
.custom-post-thumbnail img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Bookmarks Shortcode Single Provider Template */
.provider-bookmark-button {
  display: inline-block;
  margin: .5em 0;
  padding: .4em .8em;
  background: #0073aa;
  color: #fff!important;
  text-decoration: none;
  border-radius: 3px;
}
.provider-bookmark-button.remove-bookmark {
  background: #a00;
  color: #fff!important;
}

/* Bookmarks Page */
/* Bookmarks Page Grid Layout */
.provider-bookmarks-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.5em;
  padding: 0;
  list-style: none;
}

.provider-bookmark-item {
  border: 1px solid #ddd;
  padding: 1em;
  background: #fff;
  border-radius: 6px;
  text-align: center;
  position: relative;
}

.provider-bookmark-thumb {
  display: block;
  margin: 0 auto 0.5em auto;
  width: 100%;
  max-width: 150px;
  height: 150px;
  object-fit: cover;
}

.bookmark-title a {
  display: block;
  font-weight: bold;
  color: #333;
  margin-top: 0.5em;
  text-decoration: none;
}

.remove-bookmark-link {
  position: absolute;
  top: 5px;
  right: 10px;
  color: red;
  font-size: 20px;
  text-decoration: none;
}