  
/*==================================================
EVENTS DESIGN SYSTEM
STEP 1
==================================================*/

:root{

--primary:#2563eb;
--primary-dark:#1d4ed8;

--success:#16a34a;
--danger:#dc2626;
--warning:#f59e0b;

--bg:#f5f7fb;

--card:#ffffff;

--text:#1f2937;
--text-light:#6b7280;

--border:#e5e7eb;

--radius:18px;
--radius-sm:12px;

--shadow:0 12px 28px rgba(0,0,0,.14);

--transition:.25s ease;

}

/*==================================================
BODY
==================================================*/

body{

background:#f5f7fb;

font-family:Inter,system-ui,sans-serif;

color:var(--text);

}

/*==================================================
LAYOUT
==================================================*/

.ce-page{

padding:38px 0 60px;

}

.ce-feed{

margin-top:26px;

}

.container{

max-width:1320px;

}

/*==================================================
HERO
==================================================*/

.ce-hero{

background:#fff;

border-radius:22px;

padding:26px 30px;

margin-bottom:24px;

box-shadow:var(--shadow);

}

.ce-hero__content{

display:flex;

justify-content:space-between;

align-items:center;

gap:30px;

flex-wrap:wrap;

}

.ce-hero__left{

display:flex;

align-items:center;

gap:20px;

}

.ce-hero__icon{

width:72px;

height:72px;

border-radius:20px;

background:#eef4ff;

display:flex;

align-items:center;

justify-content:center;

font-size:2rem;

}

.ce-hero__title{

margin:0;

font-size:2rem;

font-weight:800;

}

.ce-hero__text{

margin-top:8px;

margin-bottom:0;

color:var(--text-light);

font-size:.96rem;

}

.ce-hero__club{

display:inline-flex;

align-items:center;

gap:8px;

margin-top:12px;

padding:7px 14px;

border-radius:999px;

background:#f3f4f6;

font-size:.84rem;

font-weight:600;

}

/*==================================================
TOOLBAR
==================================================*/

.ce-toolbar{

margin-bottom:28px;

}

.ce-search{

display:flex;

align-items:center;

gap:12px;

background:#fff;

padding:13px 18px;

border-radius:16px;

box-shadow:var(--shadow);

}

.ce-search i{

font-size:1rem;

color:#9ca3af;

}

.ce-search__input{

width:100%;

border:none;

outline:none;

background:transparent;

font-size:.95rem;

color:var(--text);

}

.ce-search__input::placeholder{

color:#9ca3af;

}

/*==================================================
BUTTONS
==================================================*/

.ce-btn{

display:inline-flex;

align-items:center;

justify-content:center;

gap:8px;

padding:10px 18px;

border-radius:12px;

font-size:.88rem;

font-weight:600;

text-decoration:none;

transition:var(--transition);

border:none;

cursor:pointer;

}

.ce-btn-sm{

padding:8px 14px;

font-size:.82rem;

}

.ce-btn-primary{

background:var(--primary);

color:#fff;

}

.ce-btn-primary:hover{

background:var(--primary-dark);

color:#fff;

}

.ce-btn-success{

background:var(--success);

color:#fff;

}

.ce-btn-success:hover{

background:#15803d;

color:#fff;

}

.ce-btn-outline{

background:#fff;

border:1px solid var(--border);

color:var(--text);

}

.ce-btn-outline:hover{

background:#f8fafc;

}

/*==================================================
PAGINATION
==================================================*/

.ce-pagination{

margin:45px 0;

}

.pagination{

gap:8px;

}

.page-link{

border:none;

border-radius:12px;

padding:10px 16px;

font-weight:600;

color:var(--text);

background:#fff;

box-shadow:var(--shadow);

}

.page-link:hover{

background:var(--primary);

color:#fff;

}

.page-item.active .page-link{

background:var(--primary);

color:#fff;

}

.page-item.disabled .page-link{

opacity:.5;

pointer-events:none;

}


/*==================================================
EVENTS DESIGN SYSTEM
STEP 2
Event Cards
==================================================*/

/*==================================================
EVENT CARD
==================================================*/

.ce-card{

background:#ffe2e2;

border-radius:20px;

padding:20px;

box-shadow:0 10px 24px rgba(0,0,0,.18);

transition:all .25s ease;

height:100%;

display:flex;

flex-direction:column;

}

.ce-card:hover{

transform:translateY(-4px);

box-shadow:0 18px 40px rgba(0,0,0,.22);

}

/*==================================================
HEADER
==================================================*/

.ce-card__header{

display:flex;

align-items:flex-start;

gap:16px;

margin-bottom:16px;

}

/*==================================================
DATE BOX
==================================================*/

.ce-card__date{

width:62px;

min-width:62px;

height:70px;

border-radius:16px;

background:linear-gradient(180deg,#2563eb,#1d4ed8);

color:#fff;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

}

.ce-card__day{

font-size:1.35rem;

font-weight:800;

line-height:1;

}

.ce-card__month{

margin-top:4px;

font-size:.72rem;

letter-spacing:1px;

font-weight:700;

}

/*==================================================
META
==================================================*/

.ce-card__meta{

flex:1;

min-width:0;

}

.ce-card__title{

margin:0;

font-size:1.08rem;

font-weight:700;

line-height:1.4;

}

.ce-card__title a{

text-decoration:none;

color:#111827;

transition:.25s;

}

.ce-card__title a:hover{

color:#2563eb;

}

.ce-card__club{

margin-top:8px;

font-size:.82rem;

font-weight:600;

color:#2563eb;

}

.ce-card__author{

margin-top:6px;

font-size:.83rem;

color:#6b7280;

}

/*==================================================
STATS
==================================================*/

.ce-card__stats{

display:flex;

gap:18px;

flex-wrap:wrap;

margin-bottom:16px;

padding:10px 0;

border-top:1px solid #edf1f5;

border-bottom:1px solid #edf1f5;

font-size:.82rem;

color:#6b7280;

}

/*==================================================
DESCRIPTION
==================================================*/

.ce-card__content{

font-size:.90rem;

line-height:1.7;

margin-bottom:18px;

color:#374151;

overflow:hidden;

}

.ce-card__content p{

margin-bottom:.75rem;

}

.ce-card__content h1,
.ce-card__content h2,
.ce-card__content h3,
.ce-card__content h4{

margin-top:1rem;

margin-bottom:.7rem;

font-weight:700;

}

.ce-card__content ul,
.ce-card__content ol{

padding-left:1.3rem;

margin-bottom:.9rem;

}

.ce-card__content img{

max-width:100%;

border-radius:12px;

margin-top:10px;

margin-bottom:10px;

}

.ce-card__content blockquote{

padding-left:14px;

border-left:4px solid #2563eb;

color:#6b7280;

margin:1rem 0;

}

.ce-card__content a{

color:#2563eb;

text-decoration:none;

}

.ce-card__content a:hover{

text-decoration:underline;

}

/*==================================================
FOOTER
==================================================*/

.ce-card__footer{

margin-top:auto;

padding-top:16px;

border-top:1px solid #edf1f5;

}

.ce-card__actions{

display:flex;

flex-wrap:wrap;

gap:10px;

}

/*==================================================
EMPTY STATE
==================================================*/

.ce-empty{

background:#fff;

border-radius:22px;

padding:70px 30px;

text-align:center;

box-shadow:0 10px 24px rgba(0,0,0,.18);

}

.ce-empty__icon{

font-size:4rem;

margin-bottom:18px;

}

.ce-empty h3{

font-size:1.4rem;

font-weight:700;

margin-bottom:12px;

}

.ce-empty p{

margin:0;

color:#6b7280;

font-size:.95rem;

}

/*==================================================
BOTTOM
==================================================*/

.ce-bottom{

margin-top:40px;

display:flex;

justify-content:flex-start;

}


/*==================================================
EVENTS DESIGN SYSTEM
STEP 3
Micro Interactions
Buttons
Animations
==================================================*/

/*==================================================
GLOBAL TRANSITIONS
==================================================*/

.ce-card,
.ce-btn,
.page-link,
.ce-search,
.ce-card__title a{

transition:all .25s ease;

}

/*==================================================
HERO
==================================================*/

.ce-hero{

transition:.30s ease;

}

.ce-hero:hover{

transform:translateY(-2px);

}

/*==================================================
SEARCH
==================================================*/

.ce-search{

border:1px solid transparent;

}

.ce-search:hover{

border-color:#dbe7ff;

}

.ce-search:focus-within{

border-color:#2563eb;

box-shadow:

0 0 0 4px rgba(37,99,235,.10);

}

/*==================================================
EVENT CARD
==================================================*/

.ce-card{

position:relative;

overflow:hidden;

}

.ce-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:4px;

background:

linear-gradient(
90deg,
#2563eb,
#16a34a
);

transform:scaleX(0);

transform-origin:left;

transition:.35s;

}

.ce-card:hover::before{

transform:scaleX(1);

}

.ce-card:hover .ce-card__date{

transform:scale(1.05);

}

.ce-card__date{

transition:.25s ease;

}

/*==================================================
TITLE
==================================================*/

.ce-card__title a{

font-weight:700;

}

.ce-card__title a:hover{

color:#2563eb;

}

/*==================================================
STATS
==================================================*/

.ce-card__stats span{

display:inline-flex;

align-items:center;

gap:6px;

transition:.25s;

}

.ce-card__stats span:hover{

color:#2563eb;

}

/*==================================================
BUTTONS
==================================================*/

.ce-btn{

font-weight:600;

}

.ce-btn:hover{

transform:translateY(-2px);

text-decoration:none;

}

.ce-btn:active{

transform:scale(.97);

}

.ce-btn-primary{

box-shadow:

0 8px 18px rgba(37,99,235,.20);

}

.ce-btn-primary:hover{

box-shadow:

0 12px 28px rgba(37,99,235,.28);

}

.ce-btn-success{

box-shadow:

0 8px 18px rgba(22,163,74,.18);

}

.ce-btn-success:hover{

box-shadow:

0 12px 28px rgba(22,163,74,.26);

}

.ce-btn-outline{

transition:.25s;

}

.ce-btn-outline:hover{

background:#2563eb;

border-color:#2563eb;

color:#fff;

}

/*==================================================
DATE BOX
==================================================*/

.ce-card__date{

box-shadow:

0 8px 18px rgba(37,99,235,.22);

}

/*==================================================
EMPTY STATE
==================================================*/

.ce-empty{

transition:.30s;

}

.ce-empty:hover{

transform:translateY(-3px);

}

/*==================================================
PAGINATION
==================================================*/

.page-link{

transition:.25s;

}

.page-link:hover{

transform:translateY(-2px);

}

.page-item.active .page-link{

box-shadow:

0 8px 20px rgba(37,99,235,.22);

}

/*==================================================
BOTTOM BUTTON
==================================================*/

.ce-bottom .ce-btn{

padding-left:20px;

padding-right:20px;

}

/*==================================================
SMOOTH APPEAR
==================================================*/

.ce-card{

animation:cardFade .35s ease;

}

@keyframes cardFade{

from{

opacity:0;

transform:translateY(12px);

}

to{

opacity:1;

transform:none;

}

}

/*==================================================
SELECTION
==================================================*/

::selection{

background:#dbeafe;

color:#111827;

}


/*==================================================
EVENTS DESIGN SYSTEM
STEP 4
Responsive
Scrollbar
Final Polish
==================================================*/

/*==================================================
SMOOTH PAGE LOAD
==================================================*/

.ce-page{

animation:ceFade .45s ease;

}

@keyframes ceFade{

from{

opacity:0;

transform:translateY(18px);

}

to{

opacity:1;

transform:none;

}

}

/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

width:10px;

height:10px;

}

::-webkit-scrollbar-track{

background:#edf2f7;

}

::-webkit-scrollbar-thumb{

background:#c7d2e3;

border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

background:#94a3b8;

}

/*==================================================
DESKTOP LARGE
==================================================*/

@media(min-width:1400px){

.container{

max-width:1320px;

}

.ce-card{

min-height:100%;

}

}

/*==================================================
LAPTOP
==================================================*/

@media(max-width:1200px){

.ce-hero{

padding:24px;

}

.ce-card{

padding:18px;

}

}

/*==================================================
TABLET
==================================================*/

@media(max-width:992px){

.ce-page{

padding:28px 0 50px;

}

.ce-hero__content{

flex-direction:column;

align-items:flex-start;

gap:22px;

}

.ce-hero__right{

width:100%;

}

.ce-hero__right .ce-btn{

width:100%;

justify-content:center;

}

.ce-card{

padding:18px;

}

.ce-card__header{

gap:14px;

}

.ce-card__actions{

gap:8px;

}

.ce-card__actions .ce-btn{

flex:1;

justify-content:center;

}

}

/*==================================================
MOBILE
==================================================*/

@media(max-width:768px){

.ce-page{

padding:22px 0 40px;

}

.container{

padding-left:16px;

padding-right:16px;

}

.ce-hero{

padding:20px;

border-radius:18px;

}

.ce-hero__left{

flex-direction:column;

align-items:flex-start;

gap:14px;

}

.ce-hero__icon{

width:60px;

height:60px;

font-size:1.6rem;

}

.ce-hero__title{

font-size:1.55rem;

}

.ce-hero__text{

font-size:.90rem;

}

.ce-toolbar{

margin-bottom:22px;

}

.ce-search{

padding:12px 15px;

}

.ce-card{

padding:16px;

border-radius:18px;

}

.ce-card__header{

flex-direction:row;

align-items:flex-start;

}

.ce-card__date{

width:56px;

min-width:56px;

height:64px;

}

.ce-card__day{

font-size:1.15rem;

}

.ce-card__month{

font-size:.70rem;

}

.ce-card__title{

font-size:1rem;

}

.ce-card__stats{

gap:12px;

font-size:.80rem;

}

.ce-card__content{

font-size:.88rem;

line-height:1.65;

}

.ce-card__actions{

flex-direction:column;

}

.ce-card__actions .ce-btn{

width:100%;

justify-content:center;

}

.ce-bottom{

margin-top:28px;

}

.ce-bottom .ce-btn{

width:100%;

justify-content:center;

}

}

/*==================================================
SMALL MOBILE
==================================================*/

@media(max-width:480px){

.ce-page{

padding:18px 0 32px;

}

.ce-hero{

padding:18px;

}

.ce-hero__title{

font-size:1.30rem;

}

.ce-hero__text{

font-size:.84rem;

}

.ce-search{

padding:10px 14px;

}

.ce-search__input{

font-size:.88rem;

}

.ce-card{

padding:14px;

}

.ce-card__header{

gap:10px;

}

.ce-card__date{

width:50px;

min-width:50px;

height:58px;

border-radius:14px;

}

.ce-card__day{

font-size:1rem;

}

.ce-card__month{

font-size:.65rem;

}

.ce-card__stats{

flex-direction:column;

gap:8px;

align-items:flex-start;

}

.page-link{

padding:8px 12px;

font-size:.84rem;

}

}

/*==================================================
ACCESSIBILITY
==================================================*/

.ce-btn:focus-visible,
.page-link:focus-visible,
.ce-search__input:focus-visible{

outline:3px solid rgba(37,99,235,.18);

outline-offset:3px;

}

/*==================================================
PERFORMANCE
==================================================*/

.ce-card,
.ce-btn,
.ce-search,
.page-link,
.ce-card__date{

will-change:transform;

}
