/* ── RAFZ VISUALS — Base Styles ── */
/* Variables, Reset, Animations, Shared Utilities */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --pink:#e97eab;--pl:rgba(233,126,171,.1);--pm:rgba(233,126,171,.2);
  --dark:#2c2c2c;--light:#f1f1f1;--white:#fff;
  --border:rgba(44,44,44,.09);--muted:#888;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--light);color:var(--dark);overflow-x:hidden;}

/* ── ANIMATIONS ── */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
@keyframes modalUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes dropIn{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes float3{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pgFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── SHARED BUTTONS ── */
.btn-primary{padding:13px 26px;background:var(--pink);color:var(--white);border:none;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.btn-primary:hover{opacity:.88;transform:translateY(-2px);}
.btn-ghost{padding:13px 22px;background:transparent;color:var(--dark);border:1.5px solid var(--border);border-radius:12px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s;display:inline-flex;align-items:center;gap:6px;text-decoration:none;}
.btn-ghost:hover{border-color:var(--pink);color:var(--pink);}
.btn-pink{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:var(--pink);color:var(--white);border:none;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .2s;}
.btn-pink:hover{opacity:.88;}
.btn-glow{padding:14px 30px;background:var(--pink);color:var(--white);border:none;border-radius:14px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 0 30px rgba(233,126,171,.35);transition:opacity .2s,transform .15s;}
.btn-glow:hover{opacity:.9;transform:translateY(-2px);}

/* ── SHARED SECTION ── */
.section-label{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--pink);margin-bottom:12px;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(32px,5vw,56px);color:var(--dark);letter-spacing:1px;line-height:1;margin-bottom:36px;}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;}
.section-link{font-size:14px;color:var(--pink);font-weight:600;cursor:pointer;text-decoration:none;}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.filter-tab{padding:7px 16px;border-radius:18px;font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--muted);font-family:'DM Sans',sans-serif;transition:all .2s;}
.filter-tab:hover{border-color:var(--pink);color:var(--pink);}
.filter-tab.active{background:var(--dark);color:var(--white);border-color:var(--dark);}
.filter-tabs{display:flex;gap:7px;flex-wrap:wrap;}

/* ── MARQUEE ── */
.marquee-wrap{background:var(--dark);padding:18px 0;overflow:hidden;}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 20s linear infinite;}
.marquee-item{display:inline-flex;align-items:center;gap:12px;padding:0 32px;font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:rgba(255,255,255,.25);}
.marquee-item span{color:var(--pink);font-size:14px;}

/* ── SHARED ── */
.success{color:#4caf7d;}
.danger{color:#e95e5e;}

/* ── RESPONSIVE BASE ── */
@media(max-width:768px){
  .section-title{font-size:clamp(28px,7vw,44px)!important;}
  .section-header{flex-direction:column;align-items:flex-start!important;gap:8px!important;margin-bottom:20px!important;}
}
