.affo{position:relative;box-sizing:border-box;margin:1.5em 0;padding:0;background:#fff linear-gradient(180deg,#ffffff 70%,rgba(211,211,211,.3));border:3px solid #104e76;border-radius:8px;color:#1f2328;font-size:16px;line-height:1.5}
.affo *{box-sizing:border-box}
.affo__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 10px;background:#104e76;color:#fff;border-radius:5px 5px 0 0}
.affo__main{padding:20px 20px 0;display:flex;gap:24px;align-items:flex-start}
.affo__media{flex:0 0 170px}
.affo__img{display:block;border-radius:8px;overflow:hidden;background:#f3f4f6}
.affo__img{aspect-ratio:16/10}
.affo__img img{display:block;width:100%;height:100%;object-fit:cover}
.affo__body{flex:1;min-width:0}
.affo__brand{display:flex;align-items:center;gap:10px;min-width:0}
.affo__logo{flex:0 0 auto;width:30px;height:30px;border-radius:50%;object-fit:cover}
.affo__title{margin:0;font-size:1em;line-height:1.25;font-weight:700;color:#fff}
.affo__subtitle{margin:0 0 8px;font-weight:500}
.affo__subtitle a{color:inherit;text-decoration:underline}
.affo__price{margin:0 0 8px;display:flex;flex-wrap:wrap;gap:2px .35em;align-items:baseline;font-size:1.25em;line-height:1.3}
.affo__price strong{font-size:inherit;font-weight:700}
.affo__price s{color:#6b7280;font-size:.8em}
.affo__save{color:#d92d20;font-weight:500;font-size:.8em}
.affo__suffix{font-size:inherit;font-weight:600}
.affo__desc{font-size:15px;margin-bottom:.8em}
.affo__desc p{margin:0 0 .8em}
.affo__desc p:last-child{margin-bottom:0}
.affo__desc p:first-child{margin-top:0}
.affo__desc.is-clamped{overflow:hidden}
.affo__more{display:block;margin:0 auto 10px;padding:4px 10px;background:none;border:0;color:var(--affo-accent);font:inherit;font-size:.9em;font-weight:600;text-decoration:underline;cursor:pointer}
.affo__more[hidden]{display:none!important}
.affo__desc a{color:var(--affo-accent)}
.affo__actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:14px}
.affo__btn{display:inline-block;padding:10px 24px;background:var(--affo-accent);color:#fff!important;font-weight:600;text-decoration:none!important;border-radius:6px;transition:filter .15s}
.affo__btn:hover,.affo__btn:focus{filter:brightness(.9)}
.affo__domain{color:#6b7280;font-size:.875em}
.affo__promo{margin-top:14px;padding:10px 14px;background:#dcfce7;border:1px solid #bbf7d0;border-radius:6px;font-size:.95em}
.affo__promo a{color:inherit;text-decoration:none}
.affo__disclosure{margin:16px 20px 0;padding:12px 0 16px;border-top:1px solid #e5e7eb;font-size:.68em;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;line-height:1.4;text-align:center}
.affo__badge{flex:0 0 auto;padding:3px 12px;background:#fff;color:#104e76;font-size:.8em;font-weight:700;border-radius:4px}

/* Featured product layout: big card, stacked full-width buttons */
.affo--featured{border:4px solid #104e76;border-radius:0}
.affo--featured .affo__head{border-radius:0}
.affo--featured .affo__main{padding:24px 24px 0}
.affo--featured .affo__media{flex-basis:42%}
.affo--featured .affo__img{background:transparent;aspect-ratio:1/1}
.affo--featured .affo__img img{object-fit:contain}
.affo--featured .affo__actions{flex-direction:column;align-items:stretch;gap:10px}
.affo--featured .affo__btn{background:#000;text-align:center;padding:14px 20px;font-size:1.05em}
.affo--featured .affo__domain{display:none}

@media (max-width:600px){
	.affo__main{flex-direction:column;gap:14px}
	.affo__media{flex-basis:auto;width:100%;max-width:220px}
	.affo--featured .affo__media{max-width:none}
	.affo__media{align-self:center}
	.affo__body{width:100%}
	.affo__head{justify-content:center;flex-wrap:wrap;text-align:center}
	.affo__subtitle{text-align:center}
	.affo__price{justify-content:center;font-size:1em}
	.affo__desc{text-align:left;font-size:.9em}
	.affo__actions{justify-content:center;text-align:center}
}

.affo__prefix{font-size:inherit;color:#6b7280;font-weight:400}
.affo__btn-label{display:block}
.affo__btn-price{display:block;font-size:.8em;font-weight:500;opacity:.9}
.affo__btn{text-align:center}

.affo__domain--under{display:block;margin-top:8px;text-align:center}
@media (max-width:600px){.affo__domain--under{text-align:center}}
