/* =====================================================
   LocalBusiness - shared front-end styles
   ===================================================== */
:root {
    --lb-primary: #ff5722;
    --lb-primary-dark: #e64a19;
    --lb-secondary: #1e293b;
    --lb-accent: #facc15;
    --lb-success: #16a34a;
    --lb-light: #f8fafc;
    --lb-muted: #64748b;
    --lb-border: #e2e8f0;
    --lb-radius: 10px;
    --lb-shadow: 0 4px 16px rgba(15,23,42,.06);
}

body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #f6f7fb;
    color: #1f2937;
    font-size: 14.5px;
}
a { color: var(--lb-primary); }
a:hover { color: var(--lb-primary-dark); }

.btn-primary,
.bg-primary {
    background-color: var(--lb-primary) !important;
    border-color: var(--lb-primary) !important;
}
.btn-primary:hover { background-color: var(--lb-primary-dark) !important; border-color: var(--lb-primary-dark) !important; }
.text-primary { color: var(--lb-primary) !important; }
.btn-outline-primary { color: var(--lb-primary); border-color: var(--lb-primary); }
.btn-outline-primary:hover { background-color: var(--lb-primary); color: #fff; }

.card {
    border: 1px solid var(--lb-border);
    border-radius: var(--lb-radius);
    box-shadow: var(--lb-shadow);
}
.card-header {
    background: #fff;
    border-bottom: 1px solid var(--lb-border);
    font-weight: 600;
}

.navbar-brand b { color: var(--lb-primary); }
.navbar.bg-white { box-shadow: 0 1px 3px rgba(0,0,0,.04); }

/* hero */
.lb-hero {
    background: linear-gradient(135deg, var(--lb-primary) 0%, #f97316 100%);
    color: #fff;
    padding: 60px 0 80px;
}
.lb-hero h1 { font-weight: 800; }
.lb-hero .form-control { height: 48px; border-radius: 8px; }
.lb-hero .btn { height: 48px; }

/* deal card */
.deal-card .deal-img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
    border-top-left-radius: var(--lb-radius);
    border-top-right-radius: var(--lb-radius);
}
.deal-card .deal-badge {
    position: absolute;
    top: 10px; left: 10px;
    background: var(--lb-primary);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}
.deal-card .deal-title {
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    min-height: 38px;
}
.deal-card .price-strike { text-decoration: line-through; color: #94a3b8; }
.deal-card .price-now    { color: var(--lb-primary); font-weight: 700; font-size: 18px; }

/* category tile */
.cat-tile {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: #fff; border: 1px solid var(--lb-border); border-radius: 12px;
    padding: 22px 10px; text-align: center; transition: .2s; height: 100%;
    text-decoration: none; color: var(--lb-secondary);
}
.cat-tile:hover { transform: translateY(-2px); box-shadow: var(--lb-shadow); border-color: var(--lb-primary); }
.cat-tile i { font-size: 30px; color: var(--lb-primary); margin-bottom: 8px; }

/* footer */
footer.lb-footer { background: var(--lb-secondary); color: #cbd5e1; padding: 50px 0 20px; }
footer.lb-footer h6 { color: #fff; font-weight: 600; margin-bottom: 14px; }
footer.lb-footer a  { color: #94a3b8; text-decoration: none; display: block; padding: 4px 0; }
footer.lb-footer a:hover { color: #fff; }
footer.lb-footer .copy { border-top: 1px solid #334155; margin-top: 30px; padding-top: 18px; font-size: 13px; color: #94a3b8; }

/* business profile */
.biz-cover { height: 240px; background: #1e293b center/cover no-repeat; border-radius: 14px; }
.biz-logo  { width: 110px; height: 110px; border-radius: 16px; border: 4px solid #fff; object-fit: cover; margin-top: -55px; background: #fff; }
.rating-stars { color: var(--lb-accent); }

/* coupon */
.coupon-card {
    background: #fff; border: 2px dashed var(--lb-primary);
    border-radius: 14px; padding: 22px;
    position: relative; overflow: hidden;
}
.coupon-card .code {
    font-family: 'Courier New', monospace;
    font-weight: 700; font-size: 22px; letter-spacing: 2px;
    color: var(--lb-primary);
}

/* loyalty pill */
.loyalty-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 600;
}
.loyalty-bronze   { background: #fef3c7; color: #92400e; }
.loyalty-silver   { background: #e2e8f0; color: #475569; }
.loyalty-gold     { background: #fde68a; color: #78350f; }
.loyalty-platinum { background: #c7d2fe; color: #3730a3; }

/* status pills */
.pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; }
.pill-active   { background: #dcfce7; color: #166534; }
.pill-pending  { background: #fef3c7; color: #92400e; }
.pill-rejected { background: #fee2e2; color: #991b1b; }
.pill-expired  { background: #f1f5f9; color: #475569; }
.pill-redeemed { background: #dbeafe; color: #1e40af; }

/* utility */
.text-muted-2 { color: var(--lb-muted); }
.divider { height: 1px; background: var(--lb-border); margin: 18px 0; }
.shadow-sm-x { box-shadow: 0 1px 3px rgba(15,23,42,.05); }
@media (max-width: 768px) {
    .lb-hero { padding: 40px 0 50px; }
}
