@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

body {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    background-color: #f8fafc;
    color: #334155;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* ブランドカラー */
.bg-omakase {
    background-color: #1a1a1a;
    color: #ffffff !important;
}

.bg-tabelog {
    background-color: #f59e0b;
    color: #ffffff !important;
}

.bg-tablecheck {
    background-color: #6366f1;
    color: #ffffff !important;
}

.bg-ikyu {
    background-color: #0ea5e9;
    color: #ffffff !important;
}

.bg-pocket {
    background-color: #be123c;
    color: #ffffff !important;
}

.bg-kiwami {
    background-color: #000000;
    color: #e5c100 !important;
    border: 1px solid #e5c100;
}

.bg-other {
    background-color: #059669;
    color: #ffffff !important;
}

.bg-insta {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #ffffff !important;
}

.bg-phone {
    background-color: #475569;
    color: #ffffff !important;
}

/* バッジ類 (共通) */
.mini-badge {
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    border: 1px solid transparent;
    line-height: 1.2;
    white-space: nowrap;
}

.cat-blue {
    background-color: #eff6ff;
    color: #1e40af;
    border-color: #dbeafe;
}

.cat-red {
    background-color: #fef2f2;
    color: #991b1b;
    border-color: #fee2e2;
}

.cat-orange {
    background-color: #fff7ed;
    color: #9a3412;
    border-color: #ffedd5;
}

.cat-neutral {
    background-color: #f8fafc;
    color: #64748b;
    border-color: #e2e8f0;
}

.cat-purple {
    background-color: #faf5ff;
    color: #7e22ce;
    border-color: #f3e8ff;
}

.cat-green {
    background-color: #f0fdf4;
    color: #15803d;
    border-color: #dcfce7;
}

.cat-indigo {
    background-color: #eef2ff;
    color: #4338ca;
    border-color: #e0e7ff;
}

.cat-yellow {
    background-color: #fefce8;
    color: #a16207;
    border-color: #fef08a;
}

.cat-slate {
    background-color: #f8fafc;
    color: #475569;
    border-color: #e2e8f0;
}

.cat-pink {
    background-color: #fdf2f8;
    color: #be185d;
    border-color: #fbcfe8;
}

.award-badge-mini {
    font-size: 8px;
    padding: 0px 4px;
    border-radius: 99px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-transform: uppercase;
    height: 14px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    line-height: 1;
}

.award-badge {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 9999px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.award-gold {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #fff;
}

.award-silver {
    background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
    color: #fff;
}

.award-bronze {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    color: #fff;
}

.score-badge-mini {
    font-size: 9px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #f97316;
}

.cond-badge-mini {
    font-size: 9px;
    padding: 1px 2px;
    border-radius: 3px;
    border: 1px solid #e2e8f0;
    color: #64748b;
    background-color: #f8fafc;
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
    white-space: nowrap;
}

.furigana {
    font-size: 9px;
    color: #94a3b8;
    line-height: 1.2;
    display: block;
    margin-top: 1px;
    font-weight: 400;
}

.score-badge {
    font-size: 1.25rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #f97316;
}