/* ===== topo da página ===== */
.chero{position:relative;color:#fff;overflow:hidden;isolation:isolate;background:
  radial-gradient(800px 420px at 85% 30%,rgba(255,138,43,.24),transparent 62%),
  radial-gradient(600px 400px at 0% 0%,rgba(18,98,196,.55),transparent 60%),
  linear-gradient(160deg,var(--navy-2),var(--navy) 60%,var(--navy-3))}
.chero .mk.bg{position:absolute;right:-120px;top:50%;width:760px;transform:translateY(-50%);z-index:-1;opacity:.06;--c1:#fff;--c2:#fff;--c3:#fff}
.chero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:38px 0 42px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#FFD2AE}
.eyebrow .mk{width:34px}
.chero h1{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.05;letter-spacing:-.02em;margin:16px 0 14px}
.chero h1 em{font-style:normal;color:var(--orange-2)}
.chero p.lead{color:#D6E4F8;font-size:1.08rem;max-width:32em}
.chero p.lead b{color:#fff}
.search{position:relative;margin-top:22px;max-width:560px}
.search input{width:100%;font:inherit;font-size:1.05rem;padding:1.05em 3.2em 1.05em 3.2em;border-radius:16px;border:2px solid transparent;background:#fff;color:var(--ink);box-shadow:0 20px 40px -18px rgba(0,0,0,.55);transition:border-color .2s,box-shadow .2s}
.search input:focus{outline:0;border-color:var(--orange-2);box-shadow:0 20px 40px -18px rgba(0,0,0,.55),0 0 0 4px rgba(255,138,43,.3)}
.search input::placeholder{color:#8A98AF}
.search .si{position:absolute;left:18px;top:50%;width:20px;height:20px;transform:translateY(-50%);stroke:var(--navy);fill:none;stroke-width:2.4;stroke-linecap:round}
.search .clr{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;display:none;place-items:center;color:var(--muted);font-size:1.4rem;line-height:1}
.search .clr:hover{background:#EEF2F8;color:var(--navy)}
.search.has .clr{display:grid}
.floaters{position:relative;height:260px}
.floaters img{position:absolute;filter:drop-shadow(0 18px 18px rgba(0,0,0,.4));animation:fl 6s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-12px) rotate(var(--r,0deg))}}
.floaters img{transform:rotate(var(--r,0deg))}

/* ===== barra de filtros ===== */
.bar{position:sticky;top:78px;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:top .25s,box-shadow .25s}
body.sc .bar{top:64px;box-shadow:0 10px 24px -16px rgba(6,38,79,.35)}
.bar .wrap{display:flex;align-items:center;gap:14px;padding:12px 0}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;padding:2px 2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;font-family:var(--display);font-weight:700;font-size:.92rem;padding:.55em 1.05em;border-radius:999px;background:#fff;border:1.5px solid var(--line);color:var(--navy);transition:background .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.chip:hover{border-color:var(--blue)}
.chip small{font-weight:600;color:var(--muted);margin-left:.4em;transition:color .2s}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip[aria-pressed=true] small{color:#9FB6D8}
.sel{display:flex;gap:10px;flex:none}
.sel select{font:inherit;font-weight:500;font-size:.92rem;padding:.6em 2.2em .6em 1em;border-radius:12px;border:1.5px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230B4E9F' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;color:var(--ink);max-width:190px;transition:border-color .2s}
.sel select:focus{outline:0;border-color:var(--blue)}

/* ===== lista ===== */
.list{background:var(--cream);padding:26px 0 70px;min-height:60vh}
.meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:var(--muted);font-size:.95rem}
.meta b{color:var(--navy)}
.meta button{color:var(--blue);font-weight:700;border-bottom:2px solid currentColor}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;transition:opacity .2s}
.grid.swap{opacity:0}
.card{background:#fff;border-radius:24px;border:1.5px solid #F0E3D4;display:flex;flex-direction:column;overflow:hidden;padding:10px;transition:transform .25s,box-shadow .25s,border-color .25s;animation:in .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes in{from{opacity:0;transform:translateY(22px) scale(.97)}}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--orange-2)}
.card-img{aspect-ratio:1/1;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#fff 0,#FFF1E3 100%);position:relative;overflow:hidden}
.card-img img{position:absolute;inset:13%;width:74%;height:74%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(6,38,79,.2));transition:transform .35s}
.card:hover .card-img img{transform:scale(1.08) rotate(-1.5deg)}
.card-img.ph .mk{width:92px;opacity:.16;--c1:var(--blue);--c2:var(--blue);--c3:var(--orange)}
.card-b{padding:14px 8px 8px;display:flex;flex-direction:column;gap:2px;flex:1}
.brand-l{font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.card h3{font-family:var(--display);font-weight:800;font-size:1rem;line-height:1.22;color:var(--navy);text-wrap:pretty}
.card .pack{font-size:.82rem;color:var(--muted)}
.card .prices{display:flex;flex-direction:column;align-items:flex-start;margin:10px 0 14px;gap:4px;min-height:44px}
.card .un{white-space:nowrap;font-family:var(--display);font-weight:900;font-size:1.55rem;line-height:1;color:var(--orange);letter-spacing:-.02em}
.card .un small{font-size:.74rem;font-weight:700;color:var(--muted);margin-left:3px;letter-spacing:0}
.card .cx{font-size:.8rem;color:var(--muted);line-height:1.25;white-space:nowrap}
.card .cx b{display:inline;margin-left:4px;font-family:var(--display);font-size:.95rem;color:var(--navy)}
.card .consulta{font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--muted)}
.card .btn{margin-top:auto;width:100%}
.sentinel{height:1px}
.empty{display:none;text-align:center;padding:70px 20px}
.empty.on{display:block}
.empty h2{font-family:var(--display);font-weight:900;font-size:1.8rem;color:var(--navy);margin-bottom:8px}
.empty p{color:var(--muted);margin-bottom:22px}

@media (max-width:1280px){.grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:1100px){
  .chero-in{grid-template-columns:1fr}
  .floaters{display:none}
  .bar{top:78px}
  .bar .wrap{flex-wrap:wrap}
  .chips{flex:1 1 100%}
  .sel{width:100%;min-width:0}
  .sel select{flex:1 1 0;min-width:0;max-width:none;width:50%}
  .grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .chero-in{padding:28px 0 30px}
  .chero h1{font-size:2rem;margin:12px 0 10px}
  .chero p.lead{font-size:1rem}
  .bar{top:64px}
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .card{padding:8px;border-radius:22px}
  .card-img{border-radius:16px}
  .card-img img{inset:11%;width:78%;height:78%}
  .card-b{padding:12px 6px 6px}
  .card h3{font-size:.9rem}
  .card .un{font-size:1.25rem}
  .card .btn{font-size:.82rem;padding:.65em .4em}
  .meta{flex-direction:column;align-items:flex-start;gap:6px}
}

/* iOS: campos com menos de 16px ganham zoom ao focar */
.sel select{font-size:16px}
.search input{font-size:16px}
@media (min-width:1101px){.search input{font-size:1.05rem}.sel select{font-size:.92rem}}
.chips{-webkit-overflow-scrolling:touch}
.meta button{position:relative}
.meta button::before{content:"";position:absolute;inset:-10px -6px}
@media (max-width:560px){
  .sel{flex-direction:column}
  .sel select{width:100%;flex:none}
}
