/* A calm directory with category colors, retaining original brand artwork. */
#partners.partners-directory{padding:34px 0 28px;background:#faf8f2;background-image:none;border-top:1px solid #d6d9cc;border-bottom:1px solid #d6d9cc;color:#244337}
#partners.partners-directory .partners-head{align-items:center;gap:18px;margin-bottom:20px}
#partners.partners-directory .partners-head h2{font-size:clamp(1.85rem,3vw,2.65rem);line-height:1.1;color:#244337}
#partners.partners-directory .partners-head p{max-width:350px;font:500 15px/1.45 'League Spartan',sans-serif;letter-spacing:0;text-transform:none;color:#647267}
#partners [data-partner-group="business"],#partners [data-partner-filter="business"]{--partner-accent:#8b3d47;--partner-tint:#f5ebeb}
#partners [data-partner-group="clubs"],#partners [data-partner-filter="clubs"]{--partner-accent:#396750;--partner-tint:#eaf1e9}
#partners [data-partner-group="media"],#partners [data-partner-filter="media"]{--partner-accent:#866323;--partner-tint:#f6eedb}
#partners [data-partner-group="institutions"],#partners [data-partner-filter="institutions"]{--partner-accent:#486677;--partner-tint:#eaf0f4}
#partners .partner-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
#partners .partner-filters button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 15px;border:1px solid #d7dcd3;border-radius:5px;background:#fffefa;color:var(--partner-accent,#244337);font:700 15px/1.2 'League Spartan',sans-serif;cursor:pointer;box-shadow:none}
#partners .partner-filters button::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--partner-accent,#244337);flex:none}
#partners .partner-filters small{font:500 12px/1 'League Spartan',sans-serif;opacity:.8}
#partners .partner-filters button[aria-pressed="true"]{background:var(--partner-tint,#e7ebe1);border-color:var(--partner-accent,#244337);box-shadow:inset 0 -2px 0 var(--partner-accent,#244337)}
#partners .partner-filters button:hover{background:var(--partner-tint,#eef0e9)}
#partners.partners-directory .partners-carousel{padding:0;max-width:none;margin:0}
#partners.partners-directory .partners-track{gap:14px;padding:2px 2px 8px;scroll-padding-inline:2px;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
#partners.partners-directory .partners-track .partner-card{flex:0 0 calc((100% - 28px)/3);position:relative;height:210px;min-height:210px;padding:16px 18px 14px;gap:8px;background:var(--partner-tint)!important;border:1px solid #d4d9d0;border-top:3px solid var(--partner-accent);border-radius:6px;box-shadow:0 2px 5px #24433709;transform:none;transition:border-color .18s,box-shadow .18s}
#partners.partners-directory .partners-track .partner-card:hover{background:var(--partner-tint)!important;border-color:var(--partner-accent);box-shadow:0 3px 9px #24433714;transform:none}
#partners.partners-directory .partner-category{align-self:flex-start;color:var(--partner-accent);font:700 11px/1.2 'League Spartan',sans-serif;letter-spacing:.07em;text-transform:uppercase;max-width:calc(100% - 24px)}
#partners.partners-directory .partner-brand-frame{height:118px;flex:0 0 118px;position:relative}
#partners.partners-directory .partner-brand-caption{font-size:14px;line-height:1.25;letter-spacing:0;min-height:18px;color:#244337}
#partners.partners-directory .partner-card::after{content:'↗';top:13px;right:12px;width:20px;height:20px;background:none;border:none;box-shadow:none;backdrop-filter:none;color:var(--partner-accent);font:500 17px/1 system-ui;transform:none}
#partners.partners-directory .partner-card .supplier-country{right:0;bottom:0;font-size:13px}
#partners .partners-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}
#partners.partners-directory .partner-arrow{position:static;display:grid;place-items:center;width:44px;height:40px;min-height:40px;padding:10px;border:1px solid #cdd5c9;border-radius:4px;background:transparent;color:#244337;box-shadow:none;transform:none;cursor:pointer}
#partners .partner-arrow svg{width:18px;height:18px}
#partners.partners-directory .partner-arrow:disabled{opacity:.3;cursor:default}
#partners.partners-directory .partner-arrow:not(:disabled):hover{background:#e7ebe1}
#partners .partner-position{min-width:84px;margin:0;text-align:center;font:600 13px/1.2 'League Spartan',sans-serif;color:#647267;font-variant-numeric:tabular-nums}
#partners.partners-directory :is(button,a,.partners-track):focus-visible{outline:2px solid #8b3d47;outline-offset:3px}
#partners.partners-directory [hidden]{display:none!important}
@media(max-width:900px){#partners.partners-directory .partners-track .partner-card{flex-basis:calc((100% - 14px)/2)}}
@media(max-width:560px){
 #partners.partners-directory{padding:26px 0 22px}
 #partners.partners-directory .partners-head{display:block;margin-bottom:16px}
 #partners.partners-directory .partners-head p{margin:8px 0 0;font-size:14px;text-align:left}
 #partners .partner-filters{gap:7px;margin-bottom:16px}
 #partners .partner-filters button{min-height:40px;padding:8px 11px;font-size:14px;gap:6px}
 #partners.partners-directory .partners-track .partner-card{flex-basis:calc(88% - 7px);height:210px;min-height:210px}
 #partners.partners-directory .partners-controls{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){#partners.partners-directory .partner-card{transition:none}}

/* Upper-right recognition and a separate visual link affordance. */
#partners.partners-directory [data-recognition]{--partner-tint:#f8f1df;--recognition-size:72px}
#partners.partners-directory [data-recognition] .partner-brand-frame{padding-right:calc(var(--recognition-size) + 12px)}
#partners.partners-directory [data-recognition] .partner-category{max-width:calc(100% - var(--recognition-size) - 12px)}
#partners.partners-directory [data-recognition] .partner-brand-caption{padding-inline:32px}
#partners.partners-directory [data-recognition]::after{content:none}
#partners.partners-directory .partner-brand-mark{display:flex;align-items:center;justify-content:center;flex:0 1 190px;min-width:0;height:100%;position:relative}
#partners.partners-directory [data-recognition] .partner-brand-mark::after{content:'';position:absolute;left:calc(100% + 6px);top:50%;width:32px;height:32px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 16H5m8-8-8 8 8 8' fill='none' stroke='%238d2f3b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/28px 28px no-repeat;transform:translate(0,-50%);animation:partner-arrow-invite 3.2s ease-in-out infinite;pointer-events:none}
@keyframes partner-arrow-invite{0%,12%,24%,100%{transform:translate(0,-50%)}6%,18%{transform:translate(-4px,-50%)}}
#partners.partners-directory .partner-card-bbt .partner-brand-mark{flex-basis:150px}
#partners.partners-directory .partner-nueve-olas .partner-brand-mark{flex-basis:162px}
#partners.partners-directory .partner-nueve-olas .partner-brand-mark>.partner-logo{max-height:100%}
#partners.partners-directory .partner-brand-mark>.partner-logo,
#partners.partners-directory .partner-brand-mark>.sens-lockup{min-width:0;max-width:100%}
#partners.partners-directory .partner-recognition{display:block;width:var(--recognition-size);height:var(--recognition-size);position:absolute;top:8px;right:10px;background-color:transparent;background-image:url('kafi-recognition-colors-20261024.webp');background-repeat:no-repeat;background-size:300% 100%;background-position:0 50%}
#partners.partners-directory [data-recognition="colaborador"] .partner-recognition{background-position:50% 50%}
#partners.partners-directory [data-recognition="premier"] .partner-recognition{background-position:100% 50%}
#partners.partners-directory .partner-recognition-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:560px){
 #partners.partners-directory [data-recognition]{--recognition-size:60px}
 #partners.partners-directory [data-recognition] .sens-lockup{gap:8px}
 #partners.partners-directory [data-recognition] .sens-lockup img{width:28px;flex:0 0 28px}
 #partners.partners-directory [data-recognition] .sens-lockup strong{font-size:15px}
}
@media(max-width:360px){
 #partners.partners-directory .partners-track .partner-card[data-recognition]{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
 #partners.partners-directory [data-recognition] .partner-brand-mark::after{animation:none;transform:translate(0,-50%)}
}

/* A brief, card-contained autumn release before visiting a special partner. */
#partners .partner-autumn-burst{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;border-radius:inherit}
#partners .partner-autumn-leaf{position:absolute;display:block;height:auto;opacity:0;pointer-events:none;animation:partner-autumn-fall 760ms cubic-bezier(.18,.5,.45,1) both;filter:drop-shadow(0 1px 1px #352e1e28)}
#partners .partner-autumn-leaf svg{display:block;width:100%;height:auto;overflow:visible}
@keyframes partner-autumn-fall{
  0%{opacity:0;transform:translate(-50%,-8px) rotate(var(--leaf-start)) scale(.65)}
  15%,65%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--leaf-x)),var(--leaf-y)) rotate(var(--leaf-end)) scale(.95)}
}
@media(prefers-reduced-motion:reduce){#partners .partner-autumn-burst{display:none}}

/* Printed comic finish: original company marks stay intact and remain the focal point. */
#partners.partners-directory .partners-track{gap:16px;padding:3px 5px 10px}
#partners.partners-directory .partners-track .partner-card{flex-basis:calc((100% - 32px)/3);height:234px;min-height:234px;padding:17px 18px 16px;border:2px solid #294a3c;border-top:4px solid var(--partner-accent);border-radius:7px;box-shadow:3px 4px 0 #294a3c25;gap:9px}
#partners.partners-directory .partners-track .partner-card:hover{box-shadow:3px 4px 0 #294a3c45;border-color:var(--partner-accent)}
#partners.partners-directory .partner-category{padding:5px 7px;border:1px solid var(--partner-accent);border-radius:3px;font-size:10px;font-weight:800;letter-spacing:.07em;line-height:1;box-sizing:border-box}
#partners.partners-directory .partner-brand-frame{height:128px;flex-basis:128px}
#partners.partners-directory .partner-brand-caption{font-size:15px;font-weight:800;min-height:20px}
#partners.partners-directory .partner-brand-frame .partner-logo,#partners.partners-directory .sens-lockup img{filter:drop-shadow(0 .75px 0 #fffaed) drop-shadow(1px 1.3px 0 #21433538)}
#partners.partners-directory .sens-lockup strong{text-shadow:.5px .7px 0 #fff7e3}
#partners.partners-directory [data-recognition]{--recognition-size:86px}
#partners.partners-directory .partner-recognition{top:9px;right:10px;filter:drop-shadow(1px 2px 0 #173b3033)}
#partners.partners-directory [data-recognition] .partner-brand-frame{padding-right:calc(var(--recognition-size) + 10px)}
#partners.partners-directory .partner-card-bbt .partner-brand-mark{flex-basis:170px}
#partners.partners-directory .partner-brand-mark>.partner-logo{max-width:100%}
#partners.partners-directory [data-recognition] .partner-brand-caption{padding-inline:8px}
@media(max-width:900px){#partners.partners-directory .partners-track .partner-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:560px){
 #partners.partners-directory .partners-track .partner-card{flex-basis:calc(94% - 6px);height:230px;min-height:230px;padding:16px}
 #partners.partners-directory [data-recognition]{--recognition-size:76px}
 #partners.partners-directory .partner-brand-frame{height:126px;flex-basis:126px}
 #partners.partners-directory .partner-brand-caption{font-size:14px}
 #partners.partners-directory [data-recognition] .sens-lockup strong{font-size:16px}
 #partners.partners-directory [data-recognition] .sens-lockup{gap:9px}
}
#partners.partners-directory .partner-brand-frame .partner-logo,#partners.partners-directory .sens-lockup img{filter:drop-shadow(.45px 0 0 #254336a6) drop-shadow(-.45px 0 0 #2543368c) drop-shadow(0 .45px 0 #2543368c) drop-shadow(0 -.45px 0 #2543368c) drop-shadow(1px 1.4px 0 #fff8e8)}

/* Community recognition has its own shield and oak branches, outside company ranks. */
#partners [data-partner-group="friends"],#partners [data-partner-filter="friends"]{--partner-accent:#315f70;--partner-tint:#eaf0ef}
#partners.partners-directory [data-recognition="amiga"]{--partner-tint:#eef2ed}
#partners.partners-directory [data-recognition="amiga"] .partner-recognition{background-image:url('kafi-instituciones-amigas-20261024.webp');background-size:contain;background-position:center}
#partners.partners-directory [data-recognition="amiga"] .partner-category{line-height:1.2;letter-spacing:.035em}
#partners.partners-directory [data-recognition] .partner-brand-frame{box-sizing:border-box}
#partners.partners-directory .partner-brand-mark>.classicos-badge{max-width:100%}

/* Display the original supplied logo with a square viewport; preserve its artwork.
   The 694px square is centered in the 694 x 1536 screenshot (y=421..1115). */
#partners.partners-directory .partner-cascais-logo{display:block;position:relative;width:128px;max-width:100%;aspect-ratio:1;flex:none;overflow:hidden;border-radius:50%;background:#fff}
#partners.partners-directory .partner-cascais-logo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}

/* Carochas do Berço: official artwork and explicit parent-club affiliation. */
#partners.partners-directory .partner-berco .partner-brand-frame{height:106px;flex-basis:106px}
#partners.partners-directory .partner-berco-logo{display:block;width:auto;height:106px;max-width:100%;max-height:100%;object-fit:contain}
#partners.partners-directory .partner-berco .partner-brand-caption{line-height:1.15}
#partners.partners-directory .partner-affiliation{display:block;margin-top:3px;font:500 11px/1.2 'League Spartan',sans-serif;color:#3e5c4e;letter-spacing:0;text-transform:none}
#partners.partners-directory .partner-affiliation>span{display:block}

/* Amics del Volkswagen de Catalunya: official logo and space for the full name. */
#partners.partners-directory .partner-amics .partner-brand-frame{height:106px;flex-basis:106px}
#partners.partners-directory .partner-amics-logo{width:106px;height:106px;object-fit:contain}
#partners.partners-directory .partner-amics .partner-brand-caption{font-size:14px;line-height:1.2}
