/* Vitrine de lojas Pilar Online — isolada para não alterar outras páginas. */
.po-directory { padding: 32px 0 65px; background:#fff; color:#252a32; }
.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:2px; 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-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-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; } }
