/* MÓDULO: cards | EXTRAÍDO DE: app019-app.html | VERSÃO: 1.4 | DATA: 2026-07-09 */
/* palavras — padding aumentado para maior área de toque */
.words{display:flex;gap:2px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;width:calc(100% + 32px);margin:0 -16px;border-bottom:1px solid var(--line);padding:18px 16px 14px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9a6400 transparent}
.words::-webkit-scrollbar{height:5px}
.words::-webkit-scrollbar-track{background:transparent}
.words::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#9a6400,#EFA017);border-radius:3px}
.words a{flex:0 0 auto;white-space:nowrap;font-size:14px;font-weight:800;color:#7a4f00;text-decoration:none;opacity:.92;cursor:pointer;position:relative;padding:9px 14px;transition:color .16s,transform .18s cubic-bezier(.34,1.56,.64,1);transform-origin:center}
.words a:hover,.words a:active{color:#9a6400;transform:scale(1.22)}
.words a.on{color:#9a6400}.words a.on::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:1px;width:16px;height:2px;border-radius:2px;background:linear-gradient(90deg,#9a6400,#EFA017)}
@media(min-width:601px){.words{width:100%;margin:0;padding:18px 10px 14px;justify-content:flex-start}.words a{font-size:15px;padding:10px 18px}}
/* kpis */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transition:opacity .3s,max-height .35s,margin .35s}
.kpis.hide{opacity:0;max-height:0;margin:0!important;overflow:hidden;pointer-events:none}
.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 10px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:34px;cursor:default}
.kpi.emerg{cursor:pointer}
.kpi b,.kpi span{background:var(--goldgrad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 2.6s linear infinite;white-space:nowrap}
.kpi b{font-size:15px;font-weight:800;line-height:1.05}.kpi span{font-size:9.5px;font-weight:700;line-height:1.05}
.kpi.emerg{border-color:rgba(239,160,23,.5)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 10px rgba(239,160,23,.08)!important}
.sec{font-size:15px;font-weight:800;background:linear-gradient(180deg,#9a6400,#EFA017);-webkit-background-clip:text;background-clip:text;color:transparent;display:flex;justify-content:space-between;align-items:center;transition:opacity .3s;gap:6px}
.sec a{font-size:12px;font-weight:700;background:linear-gradient(180deg,#9a6400,#EFA017);-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none;cursor:pointer;margin-left:auto;white-space:nowrap}
.sec-n{font-size:20px;font-weight:900;letter-spacing:-.4px}
.sec-ctx{font-size:12px;font-weight:600;opacity:.85}
/* grid responsivo inteligente: desktop 3 col, tablet 2 col, celular 1 col */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(min-width:761px) and (max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.grid{grid-template-columns:1fr}}
/* tela cheia desktop: mais colunas em telas largas (2026-07-08 wide) */
@media(min-width:1500px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1900px){.grid{grid-template-columns:repeat(5,1fr)}}
/* mobile: card proporções e touch targets */
@media(max-width:760px){
.mc{aspect-ratio:1.5/1;border-radius:18px}
.mc .bot{padding:11px 13px 13px}
.mc .chiprow{gap:5px;margin-bottom:7px}
.mc .catchip{font-size:10px;padding:4px 10px}
.mc .citychip{font-size:14px;padding:4px 12px;max-width:55%}
.mc .t{font-size:14px;width:72%;margin-bottom:3px}
.mc .su{font-size:12px;max-width:72%;margin-bottom:6px}
.mc .gstars{font-size:11px}
.mc .row{gap:8px;margin-top:8px}
.mc .bc{height:44px;font-size:14px;border-radius:13px}
.mc .bg{height:44px;width:44px;flex:0 0 44px;border-radius:13px}
}
/* CARD skin aprovada */
.mc{--ca:#0F766E;--cb:#115E59;position:relative;width:100%;aspect-ratio:1.7/1;border-radius:22px;overflow:hidden;background-image:var(--FUNDO);background-size:cover;background-position:88% center;box-shadow:0 16px 34px -16px rgba(0,0,0,.6),0 12px 30px -16px color-mix(in srgb,var(--ca) 75%,transparent);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1);animation:fadeUp .35s ease both;border:1px solid rgba(239,160,23,.28);will-change:transform}
.mc:hover{transform:translateY(-10px) scale(1.065);z-index:5;box-shadow:0 36px 64px -14px rgba(0,0,0,.8),0 20px 44px -14px color-mix(in srgb,var(--ca) 88%,transparent),0 8px 26px 0 rgba(239,160,23,.35);border-color:rgba(239,160,23,.65)}
.mc .ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,10,16,.9) 0%,rgba(8,10,16,.78) 46%,rgba(8,10,16,.16) 72%,transparent 92%)}
.mc .catgrad{position:absolute;left:0;right:0;bottom:0;height:44%;z-index:1;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--ca) 72%,transparent) 0%,color-mix(in srgb,var(--ca) 34%,transparent) 52%,transparent 100%)}
.mc .rfx{position:absolute;top:0;left:-35%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-18deg);pointer-events:none;z-index:1}
.mc .bot{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;padding:14px}
.mc .catchip{align-self:flex-start;display:flex;align-items:center;gap:3px;font-size:8px;font-weight:700;color:#fff;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.mc .catchip svg{width:9px;height:9px}
.mc .chiprow{display:flex;justify-content:flex-start;align-items:center;width:100%;gap:6px}
/* citychip — fonte 35% maior (8->11px desktop, 10->14px mobile) */
.mc .citychip{display:flex;align-items:center;font-size:11px;font-weight:700;color:#fff;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--ca) 50%,transparent);border:1px solid color-mix(in srgb,var(--ca) 70%,rgba(255,255,255,.5));backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 6px -2px rgba(0,0,0,.45);white-space:nowrap;max-width:52%;overflow:hidden;text-overflow:ellipsis}
.mc .t{color:#fff;font-weight:800;font-size:15px;line-height:1.16;text-shadow:0 1px 6px rgba(0,0,0,.65);width:62%;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc .su{color:rgba(255,255,255,.92);font-size:11px;line-height:1.32;margin-top:4px;max-width:64%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mc .me{font-size:9px;color:rgba(255,255,255,.8);margin-top:5px;letter-spacing:.2px;max-width:64%}
/* avaliação google — sem borda, sem fundo, brilho branco pulsante nas letras */
@keyframes gstars-shimmer{0%,100%{text-shadow:0 0 6px rgba(255,255,255,.1),0 1px 4px rgba(0,0,0,.5)}50%{text-shadow:0 0 18px rgba(255,255,255,.85),0 0 6px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.3)}}
.mc .gstars{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:800;color:#fff;max-width:fit-content;animation:gstars-shimmer 2.8s ease-in-out infinite}
.mc .gstars span{font-size:9px;font-weight:600;color:rgba(255,255,255,.85)}
.mc .row{display:flex;gap:8px;margin-top:auto;width:100%}
.mc .bc,.mc .bg{transition:transform .15s}
.mc .bc{flex:1;height:30px;border-radius:11px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,color-mix(in srgb,var(--ca) 30%,rgba(255,255,255,.12)),color-mix(in srgb,var(--ca) 15%,transparent));backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -8px 16px -10px rgba(0,0,0,.4),0 6px 16px -6px rgba(0,0,0,.55);color:#fff;font-size:12.5px;font-weight:800;cursor:pointer;letter-spacing:.3px}
.mc .bg{flex:0 0 40px;width:40px;height:30px;border-radius:11px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,color-mix(in srgb,var(--ca) 30%,rgba(255,255,255,.12)),color-mix(in srgb,var(--ca) 15%,transparent));backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 16px -6px rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mc .bg svg{width:18px;height:18px}
.mc .bc:hover,.mc .bg:hover{transform:scale(1.07);animation:btnpulse 1.1s ease-in-out infinite}
.cat-vagas{--ca:#2563EB;--cb:#1D4ED8}.cat-saude{--ca:#10B981;--cb:#059669}.cat-comercio{--ca:#FBBF24;--cb:#D97706}
.cat-alim{--ca:#EF4444;--cb:#DC2626}.cat-serv{--ca:#0F766E;--cb:#115E59}.cat-educ{--ca:#0EA5E9;--cb:#0369A1}
.cat-elet{--ca:#1E40AF;--cb:#1E3A8A}.cat-beleza{--ca:#B5179E;--cb:#7a0f6a}.cat-veiculos{--ca:#C0392B;--cb:#7f1d1d}.cat-imoveis{--ca:#0E8C84;--cb:#0b5e58}
.cat-eventos{--ca:#9333EA;--cb:#6b21a8}

/* ===== CARD DE PROPAGANDA — design aprovado A1+ios1 ===== */
@keyframes bordepulse{0%,100%{outline-color:rgba(239,160,23,.5)}50%{outline-color:rgba(239,160,23,1)}}
.mc-promo{cursor:pointer;background:radial-gradient(140% 120% at 80% 5%,#2a1c06 0%,#0e0c0a 55%,#07060a 100%);outline:2px dashed transparent;outline-offset:-2px;animation:fadeUp .35s ease both,bordepulse 2.8s ease-in-out infinite}
.mc-promo .ov{background:none!important}
.mc-promo .promo-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(10,10,18,.86) 0%,rgba(25,25,40,.76) 55%,rgba(10,10,18,.88) 100%)}
.mc-promo .rfx{display:block!important}
.mc-promo .a1-top{position:absolute;top:12px;left:14px;z-index:4}
.mc-promo .a1-top .citychip{font-size:9px;padding:3px 10px;background:rgba(239,160,23,.18)!important;color:#EFA017!important;border:1px solid rgba(239,160,23,.45)!important;border-radius:999px;letter-spacing:.6px;white-space:nowrap;display:inline-block;max-width:none;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.mc-promo .bot{z-index:3;align-items:flex-start;justify-content:flex-end;text-align:left;padding:14px 16px 12px;gap:0}
.mc-promo .p-title{color:#fff;-webkit-text-fill-color:#fff;font-size:21px;font-weight:900;line-height:1.12;text-shadow:0 2px 10px rgba(0,0,0,.8);margin-bottom:5px}
.mc-promo .p-sub{color:rgba(255,255,255,.65);font-size:10.5px;line-height:1.38;text-shadow:0 1px 5px rgba(0,0,0,.7)}
.mc-promo .p-btnrow{width:100%;display:flex;justify-content:center;margin-top:10px}
.mc-promo .p-btn{padding:10px 0;width:100%;border-radius:13px;border:1px solid rgba(255,255,255,.32);font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.6px;text-transform:uppercase;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 12px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.2);color:rgba(255,255,255,.9);transition:transform .15s,background .15s}
.mc-promo .p-btn:hover{background:rgba(255,255,255,.22);transform:scale(1.03)}
/* A19REV v1 | 2026-07-09 | scroll infinito com entrada suave: ui.js poe .a19c nos cards novos e .in quando entram na tela (cascata via --d); classes saem apos a transicao (nao interfere no hover). */
.a19c.a19c{animation:none;opacity:0;transform:translateY(26px) scale(.975)}
.a19c.a19c.in{opacity:1;transform:none;transition:opacity .55s ease var(--d,0ms),transform .65s cubic-bezier(.16,1,.3,1) var(--d,0ms)}
@media (prefers-reduced-motion: reduce){.a19c.a19c{opacity:1;transform:none;transition:none}}

/* gold0711 2026-07-11: botao Ver Detalhes padronizado no dourado Brand Book (antes seguia a cor da categoria via --ca) */
.mc .bc{background:linear-gradient(135deg,#F2CE7B,#D9A441 45%,#9C6F24)!important;color:#141007!important;border:1px solid rgba(255,255,255,.35)!important;text-shadow:none!important}
.mc .bc:active{transform:scale(.97)}
/* padr0711b 2026-07-11: os 3 botoes do card no MESMO dourado Brand Book; texto e icones BRANCOS */
.mc .bc,.mc .bg{background:linear-gradient(135deg,#F2CE7B,#D9A441 45%,#9C6F24)!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;text-shadow:none!important}
.mc .bc svg,.mc .bg svg,.mc .bg svg .ic,.mc .bg svg use{color:#fff!important;fill:currentColor}
.mc .bg svg[stroke]{fill:none!important}
