/* --- SocialFormula | Premium Services Component --- */
:root {
    --brand-ig: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    --brand-yt: #FF0000;
    --brand-tt: #000000;
    --brand-fb: #1877F2;
    --brand-tw: #1DA1F2;
    --brand-tg: #0088cc;
    --brand-th: #000000;
    --active-brand-gradient: #8B5CF6;
    --active-brand-color: #8B5CF6;
}

.ps-wrapper { padding: 80px 0; background: #F8FAFC; position: relative; contain: layout style paint; }
.ps-tabs-wrapper { position: relative; margin-bottom: 50px; }
.ps-tabs-container { display: flex; justify-content: center; gap: 12px; overflow-x: auto; padding: 15px 20px; scrollbar-width: none; -ms-overflow-style: none; }
.ps-tabs-container::-webkit-scrollbar { display: none; }
.ps-tab { background: #FFFFFF; border: 1px solid #E2E8F0; padding: 14px 30px; border-radius: 50px; font-weight: 600; font-size: 15px; color: #64748B; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; gap: 10px; white-space: nowrap; box-shadow: 0 4px 10px rgba(0,0,0,0.03); }
.ps-tab i { font-size: 18px; }
.ps-tab.active { transform: translateY(-2px); color: white; border-color: transparent; }
.ps-tab.active[data-brand="instagram"] { background: var(--brand-ig); box-shadow: 0 10px 25px -5px rgba(220, 39, 67, 0.4); }
.ps-tab.active[data-brand="youtube"]   { background: var(--brand-yt); box-shadow: 0 10px 25px -5px rgba(255, 0, 0, 0.4); }
.ps-tab.active[data-brand="tiktok"]    { background: var(--brand-tt); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4); }
.ps-tab.active[data-brand="facebook"]  { background: var(--brand-fb); box-shadow: 0 10px 25px -5px rgba(24, 119, 242, 0.4); }
.ps-tab.active[data-brand="twitter"]   { background: var(--brand-tw); box-shadow: 0 10px 25px -5px rgba(29, 161, 242, 0.4); }
.ps-tab.active[data-brand="telegram"]  { background: var(--brand-tg); box-shadow: 0 10px 25px -5px rgba(0, 136, 204, 0.4); }
.ps-tab.active[data-brand="threads"]   { background: var(--brand-th); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4); }
.ps-tab:hover:not(.active) { border-color: #94A3B8; color: #1E293B; }
.ps-section-title { font-family: 'Bebas Neue', sans-serif; font-size: 52px; text-align: center; color: #1E293B; margin-bottom: 10px; letter-spacing: 1px; }
.ps-category-header { font-size: 18px; font-weight: 800; color: #334155; margin: 40px 0 25px; padding-left: 18px; position: relative; }
.ps-category-header::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 5px; height: 24px; border-radius: 4px; background: #CBD5E1; transition: background 0.3s ease; }
.ps-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.ps-card { background: #FFFFFF; border: 1px solid #F1F5F9; border-radius: 18px; padding: 35px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05); position: relative; overflow: hidden; }
.ps-card::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: transparent; transition: 0.3s; }
.ps-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px -12px rgba(0,0,0,0.1); border-color: var(--active-brand-color); }
.ps-card:hover::after { background: var(--active-brand-gradient); }
.ps-icon-wrapper { width: 68px; height: 68px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 20px; transition: 0.3s ease; background: #F8FAFC; color: #64748B; will-change: transform, background, color; }
.ps-card:hover .ps-icon-wrapper { transform: scale(1.1) rotate(6deg); border-radius: 50%; background: var(--active-brand-gradient); color: white !important; }
.ps-card-name { font-weight: 700; font-size: 16px; color: #475569; transition: 0.2s ease; }
.ps-card:hover .ps-card-name { color: #0F172A; }
.animate-up { animation: fadeInUp 0.4s ease-out forwards; opacity: 0; transform: translateY(15px); }
@keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1200px) { .ps-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 992px) { .ps-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .ps-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; } .ps-card { padding: 25px 15px; } .ps-section-title { font-size: 42px; } }