/* Fentress Business Directory - Nature/Outdoors Style */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap');

:root {
    --fbd-green: #3d6b4f;
    --fbd-green-dark: #2a4d38;
    --fbd-tan: #c8a96e;
    --fbd-cream: #f7f3ed;
    --fbd-brown: #5a3e28;
    --fbd-text: #2c2c2c;
    --fbd-border: #ddd5c8;
    --fbd-shadow: 0 2px 12px rgba(60,50,30,0.12);
    --fbd-radius: 8px;
}

.fbd-grid { display: grid; gap: 24px; }
.fbd-cols-3 { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.fbd-cols-2 { grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); }

.fbd-card {
    background: #fff;
    border-radius: var(--fbd-radius);
    box-shadow: var(--fbd-shadow);
    overflow: hidden;
    border: 1px solid var(--fbd-border);
    transition: transform 0.2s, box-shadow 0.2s;
}
.fbd-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(60,50,30,0.18); }

.fbd-card-thumb img { width: 100%; height: 200px; object-fit: cover; display: block; }

.fbd-card-body { padding: 18px; }

.fbd-card-title { font-family: 'Playfair Display', serif; font-size: 1.2rem; margin: 0 0 8px; }
.fbd-card-title a { color: var(--fbd-brown); text-decoration: none; }
.fbd-card-title a:hover { color: var(--fbd-green); }

.fbd-badge {
    display: inline-block;
    background: var(--fbd-green);
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}

.fbd-stars { color: #f5a623; font-size: 1rem; margin: 6px 0; }
.fbd-address, .fbd-phone { font-family: 'Lato', sans-serif; font-size: 0.9rem; color: #666; margin: 4px 0; }
.fbd-phone a { color: var(--fbd-green); text-decoration: none; }

/* Submit Form */
.fbd-submit-form {
    background: var(--fbd-cream);
    border: 1px solid var(--fbd-border);
    border-radius: var(--fbd-radius);
    padding: 32px;
    max-width: 800px;
    margin: 0 auto;
}
.fbd-submit-form h2 { font-family: 'Playfair Display', serif; color: var(--fbd-brown); }
.fbd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.fbd-field { display: flex; flex-direction: column; gap: 6px; }
.fbd-full { grid-column: 1 / -1; }
.fbd-field label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 0.875rem; color: var(--fbd-brown); }
.fbd-field input, .fbd-field select, .fbd-field textarea {
    border: 1px solid var(--fbd-border);
    border-radius: 5px;
    padding: 10px 12px;
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
    background: #fff;
    transition: border-color 0.2s;
}
.fbd-field input:focus, .fbd-field select:focus, .fbd-field textarea:focus {
    outline: none;
    border-color: var(--fbd-green);
}

.fbd-btn {
    background: var(--fbd-green);
    color: #fff;
    border: none;
    padding: 12px 28px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.2s;
}
.fbd-btn:hover { background: var(--fbd-green-dark); }

/* Reviews */
.fbd-reviews-section { margin-top: 48px; border-top: 2px solid var(--fbd-border); padding-top: 32px; }
.fbd-rating-summary { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.fbd-rating-num { font-family: 'Playfair Display', serif; font-size: 3rem; color: var(--fbd-brown); }
.fbd-reviews-title { font-family: 'Playfair Display', serif; color: var(--fbd-brown); margin: 0 0 20px; }
.fbd-review {
    background: var(--fbd-cream);
    border-left: 4px solid var(--fbd-tan);
    border-radius: 0 var(--fbd-radius) var(--fbd-radius) 0;
    padding: 16px 20px;
    margin-bottom: 16px;
}
.fbd-review-header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.fbd-reviewer { font-family: 'Lato', sans-serif; font-weight: 700; color: var(--fbd-brown); }
.fbd-review-date { font-family: 'Lato', sans-serif; font-size: 0.8rem; color: #999; margin-left: auto; }
.fbd-review-text { font-family: 'Lato', sans-serif; color: var(--fbd-text); line-height: 1.6; margin: 0; }

.fbd-review-form { background: var(--fbd-cream); border-radius: var(--fbd-radius); padding: 24px; margin-top: 28px; }
.fbd-review-form h3 { font-family: 'Playfair Display', serif; color: var(--fbd-brown); margin-top: 0; }
.fbd-review-form input, .fbd-review-form textarea {
    width: 100%; box-sizing: border-box; border: 1px solid var(--fbd-border);
    border-radius: 5px; padding: 10px 12px; font-family: 'Lato', sans-serif;
    font-size: 0.95rem; margin-bottom: 12px; background: #fff;
}

/* Star selector */
.fbd-star-select { font-size: 2rem; cursor: pointer; margin-bottom: 14px; color: #ccc; }
.fbd-star-select .fbd-star-btn { transition: color 0.15s; }
.fbd-star-select .fbd-star-btn.active, .fbd-star-select .fbd-star-btn:hover { color: #f5a623; }

@media (max-width: 600px) {
    .fbd-form-grid { grid-template-columns: 1fr; }
    .fbd-cols-3, .fbd-cols-2 { grid-template-columns: 1fr; }
}
