/* =================== BASE / LAYOUT =================== */
.wpfc-shop-root *{ box-sizing:border-box; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }

/* Removido fundo preto global */
.wpfc-shop-root{
  background:transparent;
  min-height:100vh;
  padding:16px 12px 96px; /* espaço p/ a barra inferior */
}

/* grids */
.wpfc-shop-squads-grid{ display:grid; grid-template-columns: repeat(4,minmax(220px,1fr)); gap:18px; }
@media (max-width:1024px){ .wpfc-shop-squads-grid{ grid-template-columns: repeat(3,minmax(200px,1fr)); } }
@media (max-width:720px){  .wpfc-shop-squads-grid{ grid-template-columns: repeat(2,minmax(160px,1fr)); } }

/* =================== CARD DO SQUAD =================== */
.wpfc-shop-squad-card{
  position:relative; display:block; min-height:180px; aspect-ratio:16/9;
  border-radius:14px; overflow:hidden; color:#eaeaea; text-decoration:none;
  background:#0f0f10; box-shadow:0 18px 28px rgba(0,0,0,.18);
}
.wpfc-shop-squad-bg{ position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.75) saturate(.95); }
.wpfc-shop-squad-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.65)); }

.wpfc-shop-squad-head{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:6px;
  padding:10px 12px 12px;
  font-weight:700;
}
.wpfc-shop-squad-title{ text-shadow:0 1px 2px rgba(0,0,0,.5); }
.wpfc-shop-squad-date{ font-size:12px; opacity:.9; }

/* fileira de 4 imagens: abaixo da data, maiores em desktop */
.wpfc-squad-peek{ position:static; display:flex; gap:8px; margin-top:4px; }
.wpfc-squad-peek-img{ width:48px; height:72px; object-fit:cover; border-radius:6px; box-shadow:0 8px 16px rgba(0,0,0,.35); }
@media (min-width:1024px){ .wpfc-squad-peek-img{ width:60px; height:90px; } }

/* =================== LISTA DE PLAYERS =================== */
.wpfc-shop-players-head{ display:flex; align-items:center; justify-content:space-between; margin:6px 2px 16px; }
.wpfc-shop-back{ color:#a7a7a7; text-decoration:none; }
.wpfc-shop-players-title{ font-weight:800; color:#eaeaea; }

.wpfc-shop-players-grid{ display:grid; grid-template-columns: repeat(5, minmax(180px,1fr)); gap:16px; }
@media (max-width:1200px){ .wpfc-shop-players-grid{ grid-template-columns: repeat(4,minmax(160px,1fr)); } }
@media (max-width:900px){  .wpfc-shop-players-grid{ grid-template-columns: repeat(3,minmax(150px,1fr)); } }
@media (max-width:640px){  .wpfc-shop-players-grid{ grid-template-columns: repeat(2,minmax(140px,1fr)); } }

.wpfc-shop-card{ background:#121212; color:#eee; border-radius:12px; padding:10px; box-shadow:0 16px 26px rgba(0,0,0,.18); }
.wpfc-shop-card-img{ width:100%; height:auto; display:block; border-radius:8px; background:#0e0e0e; }
.wpfc-shop-card-name{ margin:10px 2px 6px; font-weight:800; }

.wpfc-shop-card-price{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:4px 2px 10px; }
.wpfc-shop-card-coins{ display:inline-flex; align-items:center; gap:6px; font-weight:800; font-size:14px; white-space:nowrap; }
.wpfc-coins-ico{ width:1em; height:1em; object-fit:contain; display:inline-block; vertical-align:-0.15em; }
.wpfc-shop-card-brl{ font-size:13px; opacity:.95; white-space:nowrap; }
@media (max-width:420px){
  .wpfc-shop-card-coins{ font-size:13px; }
  .wpfc-shop-card-brl{ font-size:12px; }
}

/* botão adicionar */
.wpfc-shop-add{ width:100%; padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,.14); background:#222; color:#fff; font-weight:700; cursor:pointer; }
.wpfc-shop-add:disabled{ opacity:.5; cursor:not-allowed; }

/* =================== BARRA INFERIOR (CARRINHO) =================== */
.wpfc-shop-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:rgba(10,10,10,.96); border-top:1px solid rgba(255,255,255,.1);
  padding:10px 12px; display:flex; align-items:center; gap:12px; backdrop-filter: blur(6px);
}

.wpfc-shop-bar-list{
  display:flex; gap:8px; overflow-x:auto; padding-bottom:4px;
  flex:1 1 auto; max-width:100%;
  scrollbar-width:none;
}
.wpfc-shop-bar-list::-webkit-scrollbar{ display:none; }

.wpfc-shop-bar-item{ position:relative; flex:0 0 auto; }
.wpfc-shop-bar-thumb{ width:44px; height:66px; background-size:cover; background-position:center; border-radius:8px; box-shadow:0 4px 10px rgba(0,0,0,.5); }
.wpfc-shop-bar-remove{
  position:absolute; right:-6px; top:-6px; width:18px; height:18px; border-radius:50%;
  background:#ef4444; color:#fff; border:2px solid #000; font-size:12px; line-height:14px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.5);
}

/* Total e Comprar não comprimem no mobile */
.wpfc-shop-bar-total{ margin-left:auto; display:flex; align-items:center; gap:8px; flex-shrink:0; min-width:120px; }
.wpfc-shop-bar-total-label{ color:#cfcfcf; font-weight:600; }
.wpfc-shop-bar-total-value{ font-weight:900; }

.wpfc-shop-bar-checkout{ padding:10px 16px; border-radius:12px; background:#0ea5e9; color:#fff; font-weight:800; border:none; cursor:pointer; flex-shrink:0; min-width:110px; }

@media (max-width:640px){
  .wpfc-shop-bar-total{ min-width:110px; }
  .wpfc-shop-bar-checkout{ min-width:108px; }
  /* 3 miniaturas visíveis; o resto arrasta */
  .wpfc-shop-bar-thumb{ width:22vw; height:calc(22vw * 1.5); }
}

/* =================== BUSCA GLOBAL (MOBILE-FRIENDLY) =================== */
.wpfc-shop-search-wrap{ position:sticky; top:0; z-index:5; margin-bottom:12px; }
.wpfc-shop-search{ display:flex; align-items:center; background:rgba(18,18,18,.9); border:1px solid rgba(255,255,255,.08); padding:8px 10px; border-radius:10px; backdrop-filter: blur(6px); }
.wpfc-shop-search-input{ width:100%; background:transparent; border:none; outline:none; color:#eee; font-size:15px; }
.wpfc-shop-search-input::placeholder{ color:#9a9a9a; }

.wpfc-shop-search-results{ position:relative; }
.wpfc-shop-search-list{ margin-top:8px; max-height:70vh; overflow:auto; background:#0f0f10; border:1px solid rgba(255,255,255,.1); border-radius:10px; box-shadow:0 14px 26px rgba(0,0,0,.35); }
.wpfc-shop-search-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-bottom:1px dashed rgba(255,255,255,.06); }
.wpfc-shop-search-row:last-child{ border-bottom:0; }

.wpfc-shop-search-left{ display:flex; align-items:center; gap:12px; min-width:0; }
.wpfc-shop-search-img{ width:44px; height:66px; border-radius:6px; object-fit:cover; box-shadow:0 6px 12px rgba(0,0,0,.35); flex:0 0 auto; }
@media (min-width:1024px){ .wpfc-shop-search-img{ width:56px; height:84px; } }

.wpfc-shop-search-meta{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.wpfc-shop-search-name{ font-weight:800; color:#eee; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Preço da busca com melhor quebra no mobile */
.wpfc-shop-search-prices{ display:flex; align-items:center; gap:10px; font-size:13px; flex-wrap:wrap; }
.wpfc-shop-search-coins{ display:inline-flex; align-items:center; gap:6px; font-weight:800; white-space:nowrap; }
.wpfc-shop-search-brl{ opacity:.95; white-space:nowrap; }

.wpfc-shop-search-add{ padding:10px 12px; border-radius:10px; background:#222; color:#fff; border:1px solid rgba(255,255,255,.14); font-weight:700; cursor:pointer; flex-shrink:0; }
.wpfc-shop-search-empty{ padding:14px; color:#bbb; }
