/* ═══════════════════════════════════════════════════
   CUISINE PLACEHOLDER CARDS
   Elegant, distinctive placeholders per cuisine type
   ═══════════════════════════════════════════════════ */

.resto-no-photo {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.resto-no-photo .ph-icon {
    font-size: 52px;
    line-height: 1;
    margin-bottom: 6px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.15));
    z-index: 1;
}

.resto-no-photo .ph-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    opacity: 0.85;
    z-index: 1;
}

/* Subtle pattern overlay */
.resto-no-photo::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.06;
    background-image:
        radial-gradient(circle at 25% 25%, currentColor 1px, transparent 1px),
        radial-gradient(circle at 75% 75%, currentColor 1px, transparent 1px);
    background-size: 20px 20px;
    z-index: 0;
}

/* Soft vignette */
.resto-no-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.08) 100%);
    z-index: 0;
}

/* ── Cuisine Themes ── */

.ph-pizza {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 40%, #f59e0b 100%);
    color: #92400e;
}
.ph-pizza .ph-icon::before { content: '🍕'; }

.ph-fastfood {
    background: linear-gradient(135deg, #fef2f2 0%, #fecaca 40%, #ef4444 100%);
    color: #991b1b;
}
.ph-fastfood .ph-icon::before { content: '🍟'; }

.ph-cafe {
    background: linear-gradient(135deg, #faf5ff 0%, #e9d5ff 40%, #a855f7 100%);
    color: #581c87;
}
.ph-cafe .ph-icon::before { content: '☕'; }

.ph-traditional {
    background: linear-gradient(135deg, #fff7ed 0%, #fed7aa 40%, #ea580c 100%);
    color: #7c2d12;
}
.ph-traditional .ph-icon::before { content: '🫓'; }

.ph-general {
    background: linear-gradient(135deg, #f0fdf4 0%, #bbf7d0 40%, #22c55e 100%);
    color: #14532d;
}
.ph-general .ph-icon::before { content: '🍽️'; }

.ph-seafood {
    background: linear-gradient(135deg, #f0f9ff 0%, #bae6fd 40%, #0284c7 100%);
    color: #0c4a6e;
}
.ph-seafood .ph-icon::before { content: '🐟'; }

.ph-grill {
    background: linear-gradient(135deg, #fdf2f8 0%, #fbcfe8 40%, #db2777 100%);
    color: #831843;
}
.ph-grill .ph-icon::before { content: '🥩'; }

.ph-asian {
    background: linear-gradient(135deg, #fffbeb 0%, #fde68a 30%, #d97706 100%);
    color: #78350f;
}
.ph-asian .ph-icon::before { content: '🍜'; }

.ph-burger {
    background: linear-gradient(135deg, #fef9c3 0%, #fde047 40%, #ca8a04 100%);
    color: #713f12;
}
.ph-burger .ph-icon::before { content: '🍔'; }

.ph-italian {
    background: linear-gradient(135deg, #fef2f2 0%, #fca5a5 30%, #dc2626 60%, #16a34a 100%);
    color: #7f1d1d;
}
.ph-italian .ph-icon::before { content: '🍝'; }

.ph-french {
    background: linear-gradient(135deg, #eff6ff 0%, #93c5fd 40%, #2563eb 100%);
    color: #1e3a5f;
}
.ph-french .ph-icon::before { content: '🥐'; }

.ph-brunch {
    background: linear-gradient(135deg, #fefce8 0%, #fef08a 40%, #eab308 100%);
    color: #713f12;
}
.ph-brunch .ph-icon::before { content: '🥞'; }

.ph-mediterranean {
    background: linear-gradient(135deg, #ecfdf5 0%, #6ee7b7 40%, #059669 100%);
    color: #064e3b;
}
.ph-mediterranean .ph-icon::before { content: '🫒'; }

.ph-oriental {
    background: linear-gradient(135deg, #fdf4ff 0%, #e879f9 40%, #a21caf 100%);
    color: #4a044e;
}
.ph-oriental .ph-icon::before { content: '🧆'; }

.ph-international {
    background: linear-gradient(135deg, #f8fafc 0%, #94a3b8 40%, #475569 100%);
    color: #1e293b;
}
.ph-international .ph-icon::before { content: '🌍'; }

.ph-bar {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 40%, #334155 100%);
    color: #e2e8f0;
}
.ph-bar .ph-icon::before { content: '🍸'; }
.ph-bar .ph-label { color: #cbd5e1; }

/* ── "Ajoutez la 1ère photo" — centré verticalement ── */

/* Cache l'icône cuisine pour laisser toute la place au message */
.resto-no-photo .ph-icon {
    display: none;
}

.ph-add-photo {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    color: currentColor;
    text-align: center;
    z-index: 2;
}

.ph-add-photo i {
    font-size: 28px;
    opacity: 0.65;
}

.ph-add-photo span {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    opacity: 0.8;
}

/* Dark mode */
[data-theme="dark"] .ph-add-photo {
    color: rgba(255, 255, 255, 0.75);
}
