.aff-col{--aff-accent:#d9577d;--aff-accent-strong:#b8385f;--aff-accent-soft:#fbe3ea;--aff-line:#e4e4e7;--aff-surface:#f6f6f7;--aff-paper:#fff}
.aff-col *,.aff-col *::before,.aff-col *::after{box-sizing:border-box}
.aff-col [hidden]{display:none!important}
.aff-col :focus-visible{outline:2px solid var(--aff-accent);outline-offset:2px}
.aff-col button{font:inherit}
.aff-col :where(h2,h3,p,ul,fieldset){margin:0;padding:0}
.aff-col ul{list-style:none}
.aff-col:not(.is-ready) [data-js]{display:none}
.aff-col.has-dock{padding-bottom:120px}

.aff-col__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.aff-col__nowrap{white-space:nowrap}

.aff-col__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;margin-bottom:24px;padding:8px 12px;border:1px solid var(--aff-line);border-radius:8px;background:var(--aff-surface)}
.aff-col__tools{display:flex;align-items:center;gap:8px}
.aff-col__size{display:flex;margin:0;border:0;min-width:0}
.aff-col__radio{position:relative;cursor:pointer}
.aff-col__radio input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.aff-col__radio span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--aff-line);background:var(--aff-paper);font-size:.95rem}
.aff-col__radio:first-child span{border-radius:6px 0 0 6px}
.aff-col__radio:last-child span{margin-left:-1px;border-radius:0 6px 6px 0}
.aff-col__radio input:checked+span{position:relative;border-color:var(--aff-accent);background:var(--aff-accent-soft);font-weight:600}
.aff-col__radio input:focus-visible+span{outline:2px solid var(--aff-accent);outline-offset:2px}

.aff-col__btn{min-height:40px;padding:0 14px;border:1px solid var(--aff-line);border-radius:6px;background:var(--aff-paper);color:inherit;font-size:.95rem;white-space:nowrap;cursor:pointer}
.aff-col__btn--text{padding:0 8px;border-color:transparent;background:transparent;text-decoration:underline}
.aff-col__btn--primary{white-space:nowrap;border-color:var(--aff-accent-strong);background:var(--aff-accent-strong);color:#fff;font-weight:600}
.aff-col__btn:disabled{opacity:.45;cursor:not-allowed}

.aff-col__all{font-size:.95rem}
.aff-col__all a,.aff-col__bundle a{display:inline-block;padding:9px 0}

.aff-col__group{margin-top:32px}
.aff-col__head{margin-bottom:12px}
.aff-col__bundle{font-size:.95rem}

.aff-col__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.aff-col__card{display:flex;flex-direction:column;min-width:0}
.aff-col__sheet{position:relative;display:block;aspect-ratio:600/804;overflow:hidden;border:1px solid var(--aff-line);border-radius:6px;background:var(--aff-paper);cursor:pointer}
.aff-col:not(.is-ready) .aff-col__sheet{cursor:default}
.aff-col__img{display:block;width:100%;height:100%;object-fit:contain}
.aff-col__pick{position:absolute;top:8px;left:8px;width:28px;height:28px;margin:0;border:2px solid #8f8f96;border-radius:50%;background:var(--aff-paper) center/18px no-repeat;appearance:none;-webkit-appearance:none;cursor:pointer}
.aff-col__pick:checked{border-color:var(--aff-accent);background-color:var(--aff-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9.5l3.2 3.2L14 5.8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aff-col__sheet--on{outline:3px solid var(--aff-accent);outline-offset:0}
.aff-col__title{flex:1;min-height:calc(2.6em + 10px);margin-bottom:4px;padding:10px 12px 0;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.aff-col__links{display:flex;flex-wrap:wrap;gap:0 12px;padding:0 12px 8px;font-size:.9rem}
.aff-col__links a{display:inline-flex;align-items:center;min-height:40px}

.aff-col__dock{position:fixed;right:0;bottom:0;left:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--aff-line);background:var(--aff-paper)}
.aff-col__dockrow{display:flex;align-items:center;gap:8px}
.aff-col__count{font-weight:600;white-space:nowrap}
.aff-col__dockrow .aff-col__btn--primary{white-space:nowrap;margin-left:auto}
.aff-col__status{margin-top:6px;font-size:.9rem}
.aff-col__status:empty{display:none}
.aff-col__status.is-error{color:#a31515;font-weight:600}

@media (min-width:600px){
.aff-col__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.aff-col__bar{flex-wrap:nowrap}
}
@media (min-width:900px){
.aff-col__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.aff-col__dock{right:auto;left:var(--aff-dock-left,0);width:var(--aff-dock-width,100%);border:1px solid var(--aff-line);border-bottom:0;border-radius:8px 8px 0 0}
}
@media (max-width:599px){
.aff-col__bar{padding:8px}
.aff-col__tools{width:100%;flex-wrap:wrap}
.aff-col__size{flex-shrink:0}
.aff-col__all{width:100%}
.aff-col__btn,.aff-col__radio span{padding:0 10px;font-size:.875rem}
.aff-col__links{flex-wrap:nowrap;gap:0 10px;font-size:.85rem}
}
@media (prefers-reduced-motion:no-preference){
.aff-col__pick,.aff-col__radio span{transition:background-color .12s ease,border-color .12s ease}
}
