/* Carte de restaurant du portail -- UNE seule apparence pour l'accueil et les pages /restaurants/... (2026-10-08)
   En-tete photo / contenu / boutons / pied (office partenaire). Charge par communes.php ; l'accueil recoit les memes regles via portal-v2.css. */
:root{--wp-brand:var(--brand,#ff6749);--wp-brand-d:var(--brand-d,#e9502f);--wp-soft:var(--soft,#fff1ec);--wp-text:#1F2328;--wp-muted:#5C6570;--wp-line:#E7E2DD;--wp-bg:#FAF8F6}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--wp-line);border-radius:22px;overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s;list-style:none;position:relative}
.card:hover{border-color:#ffd2c6;box-shadow:0 14px 34px rgba(31,35,40,.13);transform:translateY(-3px)}
.card.is-hover{border-color:var(--wp-brand);box-shadow:0 14px 34px rgba(255,103,73,.2)}

/* en-tete */
.card-image-container{position:relative;width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,#F6ECE8,#EDE6E1);overflow:hidden;flex:none}
.card-image-container img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.card:hover .card-image-container img{transform:scale(1.06)}
.card-ph{--c:#ff6749;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3.6rem;font-weight:800;color:var(--c);background:#F6ECE8;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,#fff),color-mix(in srgb,var(--c) 30%,#fff))}
.card-ph::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.55),transparent 55%)}
.card-heart{position:absolute;right:12px;top:12px;z-index:12;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#2b2f36;font-size:1rem;transition:transform .15s}
.card-heart:hover{transform:scale(1.08)}
.card-heart.on,.card-heart.on i{color:var(--wp-brand)}
.card-badges{position:absolute;left:12px;bottom:12px;z-index:11;display:flex;gap:5px;flex-wrap:wrap}
.card-badges .cb{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22)}
.card-badges .cb-midi{color:#8A5300}.card-badges .cb-soir{color:#27316d}
.card-badges .cb i{font-size:.7rem}
.card-dist{position:absolute;right:12px;bottom:12px;z-index:11;background:rgba(31,35,40,.85);color:#fff;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px}

/* contenu */
.card-content{padding:16px 18px 0;display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.card-content h2{font-size:1.15rem;line-height:1.28;margin:0;font-weight:700;letter-spacing:-.005em}
.card-content h2,.card-content h2 a{color:var(--wp-text);text-decoration:none}
.card:hover .card-content h2,.card:hover .card-content h2 a{color:var(--wp-brand)}
.card-content .card-place{margin:0;font-size:.88rem;color:var(--wp-muted);display:flex;align-items:center;gap:6px}
.card-place i{color:var(--wp-brand);font-size:.8rem}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:2px;font-size:.88rem;color:var(--wp-text)}
.card-rate{display:inline-flex;align-items:center;gap:5px}
.card-rate i{color:var(--wp-brand);font-size:.85rem}
.card-rate b{font-weight:700}
.card-rate small{color:var(--wp-muted);font-size:.82rem}
.card-hours{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#0B5D49;font-weight:600;font-size:.84rem}
.card-hours i{color:#0F7A5E;font-size:.8rem}
.card-hours small{color:var(--wp-muted);font-weight:500;font-size:.8rem}
.card-hours.st-open,.card-hours.st-open i{color:#0B7A55}
.card-hours.st-soon,.card-hours.st-soon i{color:#B26A00}
.card-hours.st-closed,.card-hours.st-closed i{color:#8A2D2D}
.card-hours.st-open i,.card-hours.st-soon i,.card-hours.st-closed i{font-size:.55rem}
.card-content p.card-desc{margin:2px 0 0;font-size:.86rem;line-height:1.5;color:var(--wp-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-transform:none}
.card-tags{display:flex;flex-wrap:wrap;gap:6px}
.card-tags span{font-size:.76rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--wp-bg);border:1px solid var(--wp-line);color:var(--wp-muted)}

/* boutons */
.card-foot{margin-top:auto;padding:14px 0 16px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.card-qa{display:flex;flex-wrap:wrap;gap:8px}
.card-qa a,.card-qa button{width:40px;height:40px;border:0;border-radius:50%;color:#fff;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:filter .15s,transform .15s;padding:0;font-family:inherit}
.card-qa .qa-tel{background:#1F9D6B}
.card-qa .qa-mail{background:#7A5AF8}
.card-qa .qa-maps{background:#4285F4}
.card-qa .qa-waze{background:#33CCFF}
.card-qa a:hover,.card-qa button:hover{filter:brightness(.92);transform:translateY(-1px);color:#fff}
.card-qa .wz{display:block;width:22px;height:22px}
.card-cta{width:100%;box-sizing:border-box;justify-content:center;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:999px;background:var(--wp-brand);color:#fff;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap;margin:0}
.card-cta:hover{background:var(--wp-brand-d);color:#fff}
.card-cta i{font-size:.75rem}

/* pied : office de tourisme partenaire */
.card-ot{display:flex;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid var(--wp-line);background:#FBF9F7;font-size:.78rem;color:var(--wp-muted);min-width:0}
.card-ot img{height:22px;width:auto;max-width:64px;object-fit:contain;flex:none}
.card-ot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width:480px){.card{border-radius:18px}.card-content{padding:14px 14px 0}.card-ot{padding:9px 14px}}
@media (prefers-reduced-motion:reduce){.card,.card-image-container img{transition:none}.card:hover{transform:none}.card:hover .card-image-container img{transform:none}}
