/* v5 — pagina de catalogo (/catalog, /catalog/category/{slug}, ?q=). Carregado so nesta pagina via 'pageCss'. */

/* ---------- topo: hero + busca ---------- */
.v5-catalog__hero .v5-ph__inner{padding-bottom:clamp(28px,1.5vw + 20px,48px)}
.v5-catalog__hero .v5-ph__text{max-width:920px}
.v5-catalog__hero .v5-ph__actions{display:block;margin-top:clamp(28px,1vw + 20px,40px)}

.v5-csearch{position:relative;display:flex;align-items:center;width:100%;max-width:780px;min-height:72px;padding:8px 8px 8px 60px;border-radius:var(--r-pill);background:var(--c-surface);box-shadow:inset 0 0 0 1.5px transparent;transition:background-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.v5-csearch:hover{box-shadow:inset 0 0 0 1.5px var(--c-line)}
.v5-csearch:focus-within{background:#fff;box-shadow:inset 0 0 0 1.5px var(--c-blue),0 18px 44px -22px rgba(39,107,254,.45)}
.v5-csearch__icon{position:absolute;left:24px;top:50%;color:var(--c-mut);transform:translateY(-50%);transition:color var(--dur-1) ease;pointer-events:none}
.v5-csearch:focus-within .v5-csearch__icon{color:var(--c-blue)}
.v5-csearch__input{flex:1 1 auto;min-width:0;height:56px;padding:0 12px 0 0;border:0;background:transparent;color:var(--c-ink);font:500 1.125rem/1.2 var(--font);letter-spacing:-.01em;outline:0;-webkit-appearance:none;appearance:none}
.v5-csearch__input::placeholder{color:#7A8496;opacity:1}
.v5-csearch__input::-webkit-search-cancel-button{display:none}
.v5-csearch .v5-csearch__input:focus-visible{outline:0}
.v5-csearch__clear{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-right:6px;border-radius:50%;color:var(--c-mut);transition:background-color var(--dur-1) ease,color var(--dur-1) ease}
.v5-csearch__clear:hover{background:var(--c-surface-2);color:var(--c-ink)}
.v5-csearch__btn{flex:none;min-height:56px;padding:0 26px}

/* ---------- navegacao por categorias ---------- */
.v5-cbrowse{padding-bottom:clamp(24px,2vw + 8px,48px)}
.v5-cfilters{display:grid;justify-items:start;gap:20px;padding-top:8px}
.v5-cfilters>*{max-width:100%}
.v5-cpanel{display:grid;gap:12px;width:100%}
.v5-cpanel[hidden]{display:none}
.v5-cchips{display:flex;flex-wrap:wrap;gap:10px}
.v5-cchip{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 8px 0 20px;border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font-size:.9375rem;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:background-color var(--dur-1) ease,color var(--dur-1) ease,transform var(--dur-1) var(--ease-out)}
.v5-cchip:hover{background:var(--c-surface-2)}
.v5-cchip:active{transform:scale(.97)}
.v5-cchip__n{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:var(--r-pill);background:#fff;color:var(--c-mut);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}
.v5-cchip[aria-current]{background:var(--c-blue);color:#fff}
.v5-cchip[aria-current] .v5-cchip__n{background:rgba(9,20,45,.3);color:#fff}
.v5-cchips--sub{gap:8px}
.v5-cchip--sub{min-height:44px;padding:0 6px 0 16px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--c-line);font-size:.875rem}
.v5-cchip--sub .v5-cchip__n{min-width:26px;height:26px;background:var(--c-surface)}
.v5-cchip--sub:hover{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c-ink)}
.v5-cchip--sub[aria-current]{background:var(--c-blue-soft);color:var(--c-blue-ink);box-shadow:inset 0 0 0 1.5px var(--c-blue)}
.v5-cchip--sub[aria-current] .v5-cchip__n{background:#fff;color:var(--c-blue-ink)}
.v5-cchip[aria-current="true"]{background:var(--c-ink)}

/* ---------- barra de resultados ---------- */
.v5-cbar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin:clamp(40px,2vw + 28px,64px) 0 clamp(20px,1vw + 14px,28px)}
.v5-cbar__title{font-size:clamp(1.375rem,1.1rem + .8vw,1.875rem);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.v5-cbar__range{font-size:.9375rem;color:var(--c-mut);font-variant-numeric:tabular-nums}

/* ---------- grade de produtos ---------- */
.v5-cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1vw + 6px,24px)}
.v5-ccard{display:flex}
.v5-js .v5-ccard[data-reveal]{transition-delay:var(--d,0ms)}
.v5-ccard__link{position:relative;display:flex;flex-direction:column;width:100%;padding:10px;border-radius:var(--r-lg);background:#fff;transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.v5-ccard__media{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border-radius:20px;background:var(--c-surface);isolation:isolate}
.v5-ccard__media::after{content:"";position:absolute;inset:auto 18% 9%;height:10%;border-radius:50%;background:radial-gradient(closest-side,rgba(11,18,32,.10),rgba(11,18,32,0));z-index:-1;transition:transform .8s var(--ease-out),opacity .8s var(--ease-out)}
.v5-ccard__media img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply;transition:transform .8s var(--ease-out)}
.v5-ccard__media img.v5-ccard__ph{width:42%;height:auto;opacity:.35;mix-blend-mode:normal}
.v5-ccard__body{display:flex;flex:1 1 auto;flex-direction:column;padding:20px 12px 8px}
.v5-ccard__cat{overflow:hidden;color:var(--c-blue-ink);font-size:.8125rem;font-weight:600;letter-spacing:.005em;white-space:nowrap;text-overflow:ellipsis}
.v5-ccard__name{display:-webkit-box;margin-top:8px;overflow:hidden;color:var(--c-ink);font-size:1.0625rem;font-weight:600;line-height:1.3;letter-spacing:-.015em;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-wrap:pretty}
.v5-ccard__reg{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px}
.v5-ccard__reg-label{padding:4px 8px;border-radius:6px;background:var(--c-surface);color:var(--c-mut);font-size:.6875rem;font-weight:600;letter-spacing:.06em}
.v5-ccard__reg-num{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--c-ink);font-size:.875rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis}
.v5-ccard__go{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--c-surface);color:var(--c-ink);transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}
.v5-ccard__go svg{transition:transform var(--dur-2) var(--ease-out)}
@media (hover:hover){
  .v5-ccard__link:hover{transform:translateY(-6px);box-shadow:var(--shadow-float)}
  .v5-ccard__link:hover .v5-ccard__media img{transform:scale(1.07)}
  .v5-ccard__link:hover .v5-ccard__media::after{transform:scaleX(.88);opacity:.7}
  .v5-ccard__link:hover .v5-ccard__go{background:var(--c-blue);color:#fff}
  .v5-ccard__link:hover .v5-ccard__go svg{transform:translateX(2px)}
}
.v5-ccard__link:focus-visible{outline-offset:4px;border-radius:var(--r-lg)}
.v5-ccard__link:active{transform:translateY(-2px) scale(.99)}

/* ---------- estado vazio ---------- */
.v5-cempty{margin-top:clamp(32px,2vw + 20px,48px);display:flex;flex-direction:column;align-items:center;padding:clamp(56px,4vw + 32px,104px) clamp(20px,4vw,64px);border-radius:var(--r-lg);background:radial-gradient(120% 90% at 50% 0%,var(--c-blue-soft) 0%,rgba(233,240,255,0) 62%),var(--c-surface);text-align:center}
.v5-cempty__mark{display:grid;place-items:center;width:112px;height:112px;margin-bottom:32px;border-radius:50%;background:#fff;color:var(--c-blue);box-shadow:var(--shadow-soft)}
.v5-cempty__title{max-width:22ch;font-size:clamp(1.75rem,1.2rem + 1.8vw,2.75rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere}
.v5-cempty__text{max-width:56ch;margin-top:18px;font-size:var(--fs-lead);line-height:1.55;color:var(--c-mut)}
.v5-cempty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
.v5-cempty__suggest{margin-top:48px;font-size:var(--fs-small);font-weight:600;color:var(--c-mut)}
.v5-cempty__lines{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.v5-cempty__lines a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 8px 0 18px;border-radius:var(--r-pill);background:#fff;font-size:.9375rem;font-weight:500;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-1) ease}
.v5-cempty__lines a:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.v5-cempty__lines span{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-mut);font-size:.8125rem;font-weight:600}

/* ---------- paginacao ---------- */
.v5-cpag{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:clamp(48px,3vw + 28px,80px)}
.v5-cpag__pages{display:flex;align-items:center;gap:6px}
.v5-cpag__num,.v5-cpag__gap{display:grid;place-items:center;min-width:48px;height:48px;padding:0 6px;border-radius:var(--r-pill);font-weight:600;font-variant-numeric:tabular-nums}
.v5-cpag__num{color:var(--c-ink);transition:background-color var(--dur-1) ease,color var(--dur-1) ease}
a.v5-cpag__num:hover{background:var(--c-surface)}
.v5-cpag__num.is-current{background:var(--c-blue);color:#fff}
.v5-cpag__gap{color:var(--c-mut)}
.v5-cpag__step{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--c-line);font-size:.9375rem;font-weight:600;transition:box-shadow var(--dur-1) ease,transform var(--dur-1) var(--ease-out)}
.v5-cpag__step--prev svg{transform:rotate(180deg)}
a.v5-cpag__step:hover{box-shadow:inset 0 0 0 1.5px var(--c-ink);transform:translateY(-1px)}
.v5-cpag__step.is-disabled{color:#A9B3C4;box-shadow:inset 0 0 0 1.5px var(--c-surface-2)}
.v5-cpag__step--prev{margin-right:auto}
.v5-cpag__step--next{margin-left:auto}
.v5-cpag__status{display:none;font-size:.9375rem;font-weight:500;color:var(--c-mut);font-variant-numeric:tabular-nums}

/* ---------- responsivo ---------- */
@media (max-width:1139px){
  .v5-cgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:899px){
  .v5-cpanel{margin-inline:calc(var(--gutter) * -1);width:auto;max-width:none}
  .v5-cchips{flex-wrap:nowrap;scroll-snap-type:x proximity;overflow-x:auto;padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gutter),#000 calc(100% - 32px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--gutter),#000 calc(100% - 32px),transparent 100%)}
  .v5-cchips::-webkit-scrollbar{display:none}
  .v5-cchips>li{flex:none;scroll-snap-align:start}
  .v5-cchips>li:last-child{padding-right:24px}
}
@media (max-width:759px){
  .v5-cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v5-ccard__link{padding:6px;border-radius:var(--r-md)}
  .v5-ccard__media{border-radius:15px}
  .v5-ccard__body{padding:14px 6px 6px}
  .v5-ccard__cat{font-size:.75rem}
  .v5-ccard__name{margin-top:6px;font-size:.9375rem;line-height:1.28}
  .v5-ccard__reg{gap:8px;padding-top:12px}
  .v5-ccard__reg-label{padding:3px 6px;font-size:.625rem}
  .v5-ccard__reg-num{font-size:.8125rem}
  .v5-ccard__go{display:none}
  .v5-csearch{min-height:62px;padding:6px 6px 6px 50px}
  .v5-csearch__icon{left:18px}
  .v5-csearch__input{height:50px;font-size:1rem}
  .v5-csearch__btn{min-height:50px;width:50px;padding:0}
  .v5-csearch__btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .v5-csearch__clear{width:44px;height:44px;margin-right:2px}
  .v5-cpag{gap:8px}
  .v5-cpag__pages{display:none}
  .v5-cpag__status{display:block}
  .v5-cpag__step{padding:0 18px}
}
@media (max-width:379px){
  .v5-cpag__step span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .v5-cpag__step{width:48px;padding:0;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .v5-ccard__link:hover{transform:none}
  .v5-ccard__link:hover .v5-ccard__media img{transform:none}
}

/* ---------- modo do filtro: Categorias | Especialidades (segmentado com indicador deslizante) ---------- */
.v5-cmode{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:var(--r-pill);background:var(--c-surface);isolation:isolate}
.v5-cmode__thumb{position:absolute;z-index:-1;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:var(--r-pill);background:#fff;box-shadow:0 1px 2px rgba(11,18,32,.06),0 6px 18px -8px rgba(11,18,32,.18);transition:transform .42s cubic-bezier(.32,.72,0,1)}
[data-mode="sp"]>.v5-cmode .v5-cmode__thumb{transform:translateX(100%)}
.v5-cmode__opt{display:grid;place-items:center;min-height:46px;padding:0 26px;border-radius:var(--r-pill);color:var(--c-mut);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;transition:color var(--dur-2) var(--ease-out)}
.v5-cmode__opt:hover{color:var(--c-ink)}
.v5-cmode__opt[aria-current],.v5-cmode__opt[aria-selected="true"]{color:var(--c-ink)}
.v5-cmode__opt:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}

/* chips das regioes (mesma pilula das categorias, com miniatura da regiao) */
.v5-cchip--rg{gap:10px;padding:0 8px 0 5px}
.v5-cchip--rg img{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--c-dark)}
.v5-cchip--rg:not(:has(.v5-cchip__n,.v5-cchip__x)){padding-right:18px}
.v5-cchip__x{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.2);transition:background-color var(--dur-1) ease}
.v5-cchip--rg[aria-current]:hover{background:var(--c-blue-ink)}
.v5-cchip--rg[aria-current]:hover .v5-cchip__x{background:rgba(255,255,255,.32)}

/* troca de modo com JS: entrada suave e escalonada dos chips (so transform/opacity) */
.v5-cpanel.is-entering .v5-cchips>li{animation:v5-cchip-in .46s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(min(var(--i,0),10) * 22ms)}
@keyframes v5-cchip-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.v5-ph--shape~.v5-cbrowse .v5-cfilters{padding-top:clamp(28px,2vw + 16px,48px)}
@media (max-width:899px){
  .v5-cfilters{gap:16px}
  .v5-cmode{display:grid;width:100%}
  .v5-cmode__opt{padding:0 12px}
}
@media (prefers-reduced-motion:reduce){
  .v5-cmode__thumb{transition:none}
  .v5-cpanel.is-entering .v5-cchips>li{animation:none}
}

/* ---------- celular: registro ANVISA inteiro (sem reticencias) e botao flutuante recolhido sobre paginacao/CTA ---------- */
@media (max-width:759px){
  .v5-ccard__reg{flex-wrap:wrap;gap:6px 8px}
  .v5-ccard__reg-num{flex:0 1 auto;overflow:visible;font-size:.8125rem;letter-spacing:0}
}
.v5-js.v5-fab-on .v5-fab.is-tucked{opacity:0;transform:translateY(16px) scale(.92);pointer-events:none}
@media (max-width:899px){
  .v5-catalog__hero.v5-ph{--ph-media-h:clamp(200px,54vw,300px)}
  .v5-catalog__hero .v5-ph__media--cover img{object-position:50% 40%}
}
