/* Pilar Online | Restaurantes e Delivery
   CSS independente, com a mesma estrutura visual da vitrine de lojas.
   Não interfere em /lojas.php ou nas páginas da área administrativa.
*/
.po-directory { padding:32px 0 65px; background:#fff; color:#252a32; font-family:Poppins,Arial,sans-serif; }
.po-directory .container { max-width:1320px; }
.po-directory-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding:8px 0 24px; }
.po-directory-kicker { display:block; font-size:11px; font-weight:700; letter-spacing:.1em; color:#C1272D; margin-bottom:7px; }
.po-directory-heading h1 { margin:0 0 7px; font-size:clamp(25px,3vw,35px); letter-spacing:-.035em; line-height:1.15; font-weight:650; color:#252a32; }
.po-directory-heading p { margin:0; font-size:14px; line-height:1.55; color:#727a86; }
.po-directory-search { flex:0 1 350px; min-width:245px; }
.po-directory-search label { display:block; margin-bottom:6px; font-weight:500; font-size:12px; color:#5b6572; }
.po-directory-search-control { display:flex; min-height:43px; border:1px solid #dadee4; border-radius:8px; overflow:hidden; background:#fff; }
.po-directory-search input { min-width:0; width:100%; flex:1; border:0; outline:0; padding:10px 12px; background:transparent; color:#252a32; font:inherit; font-size:13px; }
.po-directory-search input:focus-visible { outline:2px solid #C1272D; outline-offset:-2px; }
.po-directory-search-control button { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:0; background:#C1272D; padding:0 15px; color:#fff; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.po-directory-search-control button:hover { background:#a51f25; }
.po-directory-count { font-size:12px; color:#818995; border-bottom:1px solid #e3e5e8; padding-bottom:10px; margin-bottom:0; }
.po-directory-count strong { color:#404955; font-weight:600; }
.po-directory-count > a { margin-left:10px; color:#C1272D; font-weight:600; text-decoration:underline; }
.po-directory-alphabet { display:flex; justify-content:space-between; align-items:center; flex-wrap:nowrap; gap:2px; margin:0 0 20px; padding:8px 0; border-bottom:1px solid #e3e5e8; overflow-x:auto; scrollbar-width:thin; }
.po-directory-alphabet a,.po-directory-alphabet span { display:grid; place-items:center; min-width:32px; height:32px; padding:0 5px; font-size:14px; font-weight:500; text-decoration:none; color:#56616e; border-radius:5px; flex-shrink:0; }
.po-directory-alphabet a:hover,.po-directory-alphabet a:focus-visible { background:#fff0ec; color:#C1272D; outline-color:#C1272D; }
.po-directory-alphabet span { color:#aeb5be; cursor:default; }
.po-directory-group { scroll-margin-top:20px; margin:0 0 26px; }
.po-directory-group-heading { display:flex; align-items:center; gap:12px; margin:0 0 14px; }
.po-directory-group-heading h2 { margin:0; font-size:18px; font-weight:500; color:#252a32; }
.po-directory-group-heading span { font-size:11px; color:#a0a7b0; }
.po-directory-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); column-gap:16px; row-gap:21px; }
.po-directory-card { min-width:0; }
.po-directory-card-link { display:block; color:inherit; text-decoration:none; }
.po-directory-card-link:hover h3,.po-directory-card-link:focus-visible h3 { color:#C1272D; }
.po-directory-logo { width:100%; aspect-ratio:1.78 / 1; padding:11px; display:flex; align-items:center; justify-content:center; border:1px solid #e1e4e8; background:#fff; border-radius:5px; transition:box-shadow .18s,border-color .18s; overflow:hidden; }
.po-directory-card-link[href]:hover .po-directory-logo,.po-directory-card-link[href]:focus-visible .po-directory-logo { border-color:#d69a9c; box-shadow:0 3px 12px rgba(42,47,55,.07); }
.po-directory-card-link:focus-visible { outline:2px solid #C1272D; outline-offset:4px; border-radius:4px; }
.po-directory-logo img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.po-directory-initial { display:grid; place-items:center; width:66px; height:66px; max-width:100%; max-height:85%; border-radius:50%; background:#fff0f0; color:#C1272D; font-size:28px; font-weight:600; }
.po-directory-card h3 { margin:11px 0 0; font-size:13px; font-weight:500; line-height:1.45; text-align:center; color:#252a32; overflow-wrap:anywhere; }
.po-directory-card small { display:block; font-size:10px; color:#8c949d; text-align:center; margin-top:4px; }
.po-directory-card-action { display:block; margin-top:5px; text-align:center; color:#C1272D; font-size:11px; font-weight:600; }
.po-directory-card-action span { color:#F47016; }
.po-directory-card-link--disabled { cursor:default; }
.po-directory-empty { margin:25px 0 35px; }
@media(max-width:1199px) { .po-directory-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:800px) { .po-directory-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px 12px; } .po-directory-alphabet a,.po-directory-alphabet span { min-width:30px; } }
@media(max-width:660px) { .po-directory-heading { flex-direction:column; align-items:stretch; gap:16px; } .po-directory-search { min-width:0; flex:none; } .po-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .po-directory { padding:19px 0 40px; } .po-directory-alphabet { justify-content:flex-start; gap:5px; } .po-directory-heading h1 { font-size:27px; } }
@media(max-width:460px) { .po-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 11px; } .po-directory-logo { padding:8px; } .po-directory-card h3 { font-size:12px; } .po-directory-group { margin-bottom:24px; } }

/* ==========================================================
   PILAR ONLINE | HORÁRIO ATUAL DOS RESTAURANTES E DELIVERY
   Badge discreto, legível e compatível com os cards existentes.
   ========================================================== */
.po-directory .po-directory-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    min-height: 27px;
    margin: 9px auto 1px;
    padding: 5px 9px;
    border: 1px solid #e3e7eb;
    border-radius: 100px;
    background: #f7f8fa;
    color: #677482;
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
}
.po-directory .po-directory-status-dot {
    display: inline-block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9ca7b3;
}
.po-directory .po-directory-status--aberto {
    background: #eaf8ef;
    border-color: #bce8cc;
    color: #167449;
}
.po-directory .po-directory-status--aberto .po-directory-status-dot {
    background: #159b5a;
    box-shadow: 0 0 0 3px rgba(21,155,90,.12);
}
.po-directory .po-directory-status--fechado {
    background: #fff1f1;
    border-color: #f2d4d4;
    color: #a62c32;
}
.po-directory .po-directory-status--fechado .po-directory-status-dot {
    background: #c1272d;
}
@media(max-width:460px) {
    .po-directory .po-directory-status {
        font-size: 10px;
        padding: 5px 7px;
    }
}
