.exp-affhosting-img-wrapper { overflow: hidden; background: #F8FAFC; position: relative; width: 100%; aspect-ratio: 400/240; border-bottom: 1px solid #F1F5F9; }
.exp-affhosting-card { border: 1px solid #E2E8F0; background: #FFFFFF; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); overflow: hidden; flex-direction: column; position: relative; height: 100%; display: flex; border-radius: 16px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.exp-affhosting-img-link { display: block; width: 100%; height: 100%; }
.exp-affhosting-card:hover .exp-affhosting-img-link img { transform: scale(1.08); }
.exp-affhosting-pulse-dot { display: inline-block; border-radius: 50%; width: 8px; background-color: #FF3B30; animation: exp-affhosting-pulse-red 1.5s infinite; height: 8px; }
.exp-affhosting-img-link img { width: 100%; object-fit: cover; height: 100%; transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
.exp-affhosting-card:hover { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); border-color: #000000; transform: translateY(-6px); }
.exp-affhosting-urgency-badge { border-radius: 30px; display: inline-flex; top: 12px; gap: 6px; letter-spacing: 0.5px; font-weight: 800; position: absolute; color: #FFFFFF; font-size: 0.75rem; background: #000000; z-index: 2; padding: 6px 12px; align-items: center; box-shadow: 0 4px 10px rgba(0,0,0,0.2); left: 12px; }
@keyframes exp-affhosting-pulse-red {
  0% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.6); }
  70% { box-shadow: 0 0 0 6px rgba(255, 59, 48, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); }
}
.exp-affhosting-content { display: flex; flex-grow: 1; flex-direction: column; padding: 0 20px 20px; position: relative; }
.exp-affhosting-compare-text { display: flex; overflow: hidden; width: 100%; flex-direction: column; }
.exp-affhosting-compare-box { border-left: 4px solid #D4FF00; border-radius: 12px; margin-bottom: 16px; background: #FFFFFF; transition: background 0.2s ease; padding: 10px; border: 1px solid #E2E8F0; }
.exp-affhosting-title { font-weight: 600; color: #475569; font-size: 0.95rem; overflow: hidden; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; margin: 0 0 8px 0; -webkit-line-clamp: 2; }
.exp-affhosting-compare-box i { align-items: center; justify-content: center; color: #000000; background: #D4FF00; height: 28px; font-size: 1.1rem; border-radius: 6px; width: 28px; display: flex; }
.exp-affhosting-compare-box:hover { background: #F8FAFC; }
.exp-affhosting-compare-text span { letter-spacing: 0.5px; font-size: 0.7rem; line-height: 1; text-transform: uppercase; font-weight: 700; margin-bottom: 4px; color: #64748B; }
.exp-affhosting-logo-box { height: 60px; margin-top: -30px; z-index: 3; transition: transform 0.3s ease; border: 1px solid #E2E8F0; justify-content: center; margin-bottom: 16px; position: relative; align-items: center; border-radius: 14px; display: flex; background: #FFFFFF; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 8px; width: 60px; }
.exp-affhosting-discount-text { font-size: 1.6rem; color: #000000; letter-spacing: -0.5px; margin-bottom: auto; padding-bottom: 16px; font-weight: 900; }
.exp-affhosting-btn-black { font-weight: 800; border-radius: 12px; letter-spacing: 0.5px; padding: 12px; cursor: pointer; font-size: 0.95rem; background: #000000; transition: all 0.3s ease; display: flex; border: 2px solid #000000; color: #D4FF00; width: 100%; text-transform: uppercase; gap: 8px; align-items: center; text-decoration: none; justify-content: center; }
.exp-affhosting-compare-text strong { white-space: nowrap; color: #000000; overflow: hidden; text-overflow: ellipsis; font-weight: 800; font-size: 0.85rem; }
.exp-affhosting-logo-box img { max-height: 100%; object-fit: contain; max-width: 100%; border-radius: 8px; }
.exp-affhosting-compare-box a { color: #334155; gap: 12px; display: flex; text-decoration: none; align-items: center; }
.exp-affhosting-card:hover .exp-affhosting-logo-box { transform: translateY(-4px); border-color: #000000; }
.exp-affhosting-btn-black:hover { background: #e11d48; color: #ffffff; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(225, 29, 72, 0.4); border-color: #e11d48; }