/* ==========================================================================
   poseidon_aliados · Aliados y puntos de venta
   ========================================================================== */
.brands{overflow:hidden}
.brands .section-head{margin-bottom:56px}
.brands-intro{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:420px}
.brands-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border:1px solid rgba(167,217,215,.35);font-size:var(--fs-text);letter-spacing:1.4px;text-transform:uppercase;color:var(--aqua)}
.brands-badge .p-icon{width:17px;height:17px}

/* Tarjeta */
.brand-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:210px;height:124px;padding:18px 30px;border:1px solid var(--line);background:rgba(255,255,255,.025);text-align:center;transition:border-color .35s,background .35s,transform .45s var(--ease)}
a.brand-card:hover{border-color:rgba(167,217,215,.55);background:rgba(255,255,255,.06);transform:translateY(-3px)}
.brand-logo{width:auto;max-width:170px;height:auto;max-height:58px;object-fit:contain;transition:filter .35s,opacity .35s}
.brand-word{font-family:var(--serif);font-size:var(--fs-h4);line-height:1.05;letter-spacing:-.4px;white-space:nowrap;color:#dbe7ea}
.brand-note{font-size:var(--fs-text);letter-spacing:.8px;color:var(--muted);white-space:nowrap}
.brands--mono .brand-logo{filter:grayscale(1) brightness(0) invert(1);opacity:.72}
.brands--mono .brand-card:hover .brand-logo{filter:none;opacity:1}

/* Carrusel infinito */
.brands-marquee{display:grid;gap:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.brands-row{display:flex;overflow:hidden}
.brands-group{display:flex;gap:16px;padding-right:16px;flex-shrink:0;animation:p-marquee var(--speed,40s) linear infinite}
.brands-row.is-reverse .brands-group{animation-direction:reverse}
.brands-marquee:hover .brands-group,.brands-marquee:focus-within .brands-group{animation-play-state:paused}

/* Cuadrícula */
.brands-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.brands-grid .brand-card{min-width:0;height:140px}

/* Beneficios */
.brands-perks{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:0;margin:56px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.brands-perks li{display:flex;align-items:center;gap:16px;padding:28px 26px 0;font-size:var(--fs-text);color:#d3e2e6;border-left:1px solid var(--line)}
.brands-perks li:first-child{padding-left:0;border-left:0}
.brands-perks li>span{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border:1px solid rgba(167,217,215,.3);border-radius:50%}
.brands-perks .p-icon{width:20px;height:20px;color:var(--aqua)}
.brands .section-foot{margin-top:48px}

/* Fondo claro */
.tone-light .brand-card{border-color:#c4d2d3;background:rgba(255,255,255,.55)}
.tone-light a.brand-card:hover{border-color:#7fa9b1;background:#fff}
.tone-light .brand-word{color:var(--navy)}
.tone-light .brand-note{color:#506570}
.tone-light.brands--mono .brand-logo{filter:grayscale(1);opacity:.65}
.tone-light .brands-badge{border-color:#9dbfc2;color:#2f6f7a}
.tone-light .brands-perks{border-color:#c4d2d3}
.tone-light .brands-perks li{color:#1e3a47;border-color:#c4d2d3}
.tone-light .brands-perks li>span{border-color:#b9ccce}
.tone-light .brands-perks .p-icon{color:#2f6f7a}

@media(max-width:1000px){
  .brands-perks{grid-template-columns:minmax(0,1fr);border-top:0}
  .brands-perks li,.brands-perks li:first-child{padding:18px 0;border-left:0;border-top:1px solid var(--line)}
  .tone-light .brands-perks li{border-color:#c4d2d3}
}
@media(max-width:760px){
  .brands .section-head{margin-bottom:36px}
  .brand-card{min-width:170px;height:104px;padding:14px 22px}
  .brand-logo{max-width:130px;max-height:46px}
  .brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .brands-grid .brand-card{height:110px;padding:12px}
  .brand-word,.brand-note{white-space:normal}
  .brands-perks{margin-top:36px}
}
@media(prefers-reduced-motion:reduce){
  .brands-group{animation:none}
  .brands-row{overflow-x:auto;scrollbar-width:none}
  .brands-group[aria-hidden="true"]{display:none}
}
