/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.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
*/

/* Add your custom styles here */
/* --- Styles for the Firestore Location Card --- */

/* --- Styles for the Custom Firebase Card --- */

#heron-locations {
    font-family: system-ui, -apple-system, sans-serif;
	margin-bottom: 6rem;
}

/* --- Styles for the Loading Spinner --- */
.loading-spinner {
  border: 5px solid #f3f3f3; /* Light grey circle */
  border-top: 5px solid #0073e6; /* Blue spinning part */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
  margin: 40px auto; /* Center the spinner */
}

/* The spinning animation */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Make sure the status message is centered */
.status-message {
    text-align: center;
    padding: 40px;
    color: #666;
    font-size: 1.1rem;
    grid-column: 1 / -1;
}

.location-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    max-width: 350px;
    margin: 1rem auto;
    transition: transform 0.2s, box-shadow 0.2s;
}
.location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.card-image {
    width: 100%;
    padding-top: 60%; /* Aspect ratio 5:3 */
    position: relative;
    background-color: #eee;
}
.card-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-content {
    padding: 20px;
}
.card-content h3 {
    margin: 0 0 5px 0;
    font-size: 1.25rem;
    color: #222;
}
.card-content .card-location {
    margin: 0 0 10px 0;
    color: #555;
    font-size: 0.95rem;
}

.star-rating {
    color: #f5c518;
    font-size: 1.1rem;
    position: relative;
    display: inline-block;
}
.star-rating .half {
    position: absolute;
    left: 0;
    width: 50%;
    overflow: hidden;
}
.star-rating .empty {
    color: #ccc;
}