134134.upcoming-btn ,
135135.btn ,
136136.btn-primary ,
137- .participation-card a {
137+ .participation-card a ,
138+ .year-card a {
138139 background : var (--python-green ) !important ;
139140 color : var (--python-white ) !important ;
140141 padding : 0.75rem 1.5rem ;
143144 font-weight : 600 ;
144145 display : inline-flex;
145146 align-items : center;
147+ justify-content : center;
146148 gap : 0.5rem ;
147149 transition : var (--transition-base );
148150 border : none;
152154.upcoming-btn : hover ,
153155.btn : hover ,
154156.btn-primary : hover ,
155- .participation-card a : hover {
157+ .participation-card a : hover ,
158+ .year-card a : hover {
156159 background : var (--python-green-dark ) !important ;
157160 color : var (--python-white ) !important ;
158161 transform : translateY (-2px );
204207 TARJETAS Y GRILLAS
205208 ----------------------------------------------------------------------------- */
206209
210+ /* Estilos base para todas las tarjetas */
211+ .participation-card ,
212+ .year-card ,
213+ .stat-card ,
214+ .community-highlight ,
215+ .upcoming-events {
216+ background : var (--md-default-bg-color );
217+ border : 1px solid var (--md-default-fg-color--lightest );
218+ border-radius : var (--card-radius );
219+ text-align : center;
220+ transition : var (--transition-smooth );
221+ position : relative;
222+ overflow : hidden;
223+ }
224+
225+ /* Grillas responsivas */
207226.participation-grid {
208227 display : grid;
209- grid-template-columns : repeat (2 , 1fr );
210- gap : 1.25rem ;
211- margin : 1rem auto;
212- max-width : 800px ;
228+ grid-template-columns : repeat (auto-fit, minmax (250px , 1fr ));
229+ gap : 1.5rem ;
230+ margin : 2rem 0 ;
213231}
214232
233+ .year-cards {
234+ display : grid;
235+ grid-template-columns : repeat (auto-fit, minmax (280px , 1fr ));
236+ gap : 1.5rem ;
237+ margin : 2rem 0 ;
238+ }
239+
240+ .stats-grid {
241+ display : grid;
242+ grid-template-columns : repeat (auto-fit, minmax (200px , 1fr ));
243+ gap : 1.5rem ;
244+ margin : 2rem 0 ;
245+ }
246+
247+ /* Caso especial: cuando hay 3 tarjetas de participación, la tercera ocupa toda la fila */
215248.participation-grid .participation-card : nth-child (3 ): nth-last-child (1 ) {
216249 grid-column : 1 / -1 ;
217250 max-width : 400px ;
218251 margin : 0 auto;
219252}
220253
221- /* Estilos base para tarjetas */
222- .participation-card ,
223- .community-highlight ,
224- .upcoming-events {
225- background : var (--md-default-bg-color );
226- border : 1px solid var (--md-default-fg-color--lightest );
227- border-radius : var (--card-radius );
228- padding : 1.25rem ;
229- transition : var (--transition-base );
230- }
231-
254+ /* Tarjetas de participación */
232255.participation-card {
233- position : relative;
234- overflow : hidden;
235- text-align : center;
236- padding : 1.5rem 1.25rem 1.25rem ;
256+ padding : 2rem ;
257+ min-height : 200px ;
258+ display : flex;
259+ flex-direction : column;
260+ justify-content : space-between;
237261}
238262
239263.participation-card : hover {
240- transform : translateY (-0.25 rem );
264+ transform : translateY (-5 px );
241265 box-shadow : var (--md-shadow-z3 );
266+ border-color : var (--md-primary-fg-color );
267+ }
268+
269+ .participation-card h3 {
270+ color : var (--md-default-fg-color );
271+ margin-bottom : 1rem ;
272+ font-size : 1.25rem ;
273+ font-weight : 600 ;
242274}
243275
244276.participation-card h3 i {
245- display : block;
246- font-size : 3rem ;
277+ font-size : 2rem ;
247278 color : var (--md-primary-fg-color );
248- margin-bottom : 1 rem ;
249- opacity : 0.8 ;
279+ margin-bottom : 0.5 rem ;
280+ display : block ;
250281}
251282
252- .participation-card h3 {
283+ .participation-card p {
284+ color : var (--md-default-fg-color--light );
285+ line-height : 1.6 ;
286+ margin-bottom : 1.5rem ;
287+ flex-grow : 1 ;
288+ }
289+
290+ /* Tarjetas de años */
291+ .year-card {
292+ padding : 0.5rem 2rem ;
293+ min-height : 200px ;
294+ display : flex;
295+ flex-direction : column;
296+ justify-content : space-between;
297+ }
298+
299+ .year-card : hover {
300+ transform : translateY (-5px );
301+ box-shadow : var (--md-shadow-z3 );
302+ border-color : var (--md-primary-fg-color );
303+ }
304+
305+ .year-card ::before {
306+ content : '' ;
307+ position : absolute;
308+ top : 0 ;
309+ left : 0 ;
310+ right : 0 ;
311+ height : 4px ;
312+ background : linear-gradient (90deg , var (--md-primary-fg-color ), var (--python-green ));
313+ opacity : 0 ;
314+ transition : var (--transition-base );
315+ }
316+
317+ .year-card : hover ::before {
318+ opacity : 1 ;
319+ }
320+
321+ .year-card h3 {
322+ color : var (--md-default-fg-color );
323+ margin-bottom : 0.5rem ;
253324 font-size : 1.5rem ;
325+ font-weight : 700 ;
326+ }
327+
328+ .year-card h3 i {
329+ font-size : 2rem ;
330+ color : var (--md-primary-fg-color );
331+ margin-bottom : 0.25rem ;
332+ display : block;
333+ }
334+
335+ .year-card p {
336+ color : var (--md-default-fg-color--light );
337+ line-height : 1.4 ;
338+ margin-bottom : 0.25rem ;
339+ }
340+
341+ .year-card p : first-of-type {
342+ font-size : 1.125rem ;
254343 font-weight : 600 ;
255- margin-bottom : 1rem ;
256- color : var (--md-default-fg-color );
344+ color : var (--md-primary-fg-color );
257345}
258346
259- .participation-card p {
347+ .year-card a {
348+ margin-top : auto;
349+ }
350+
351+ /* Tarjetas de estadísticas */
352+ .stat-card {
353+ padding : 1.5rem ;
354+ }
355+
356+ .stat-card : hover {
357+ transform : translateY (-3px );
358+ box-shadow : var (--md-shadow-z2 );
359+ border-color : var (--md-primary-fg-color );
360+ }
361+
362+ .stat-card h3 {
363+ color : var (--md-primary-fg-color );
364+ margin-bottom : 0.5rem ;
365+ font-size : 1.25rem ;
366+ font-weight : 700 ;
367+ }
368+
369+ .stat-card h3 i {
370+ font-size : 1.5rem ;
371+ margin-bottom : 0.5rem ;
372+ display : block;
373+ }
374+
375+ .stat-card p {
260376 color : var (--md-default-fg-color--light );
261- line-height : 1.6 ;
262- margin-bottom : 1.25rem ;
263- font-size : 1rem ;
377+ font-weight : 500 ;
378+ }
379+
380+ /* Especialización de tarjetas por tipo */
381+ .participation-ponente ,
382+ .year-2025 {
383+ border-left : 4px solid var (--python-green );
384+ }
385+
386+ .participation-voluntario ,
387+ .year-2024 {
388+ border-left : 4px solid # 2196F3 ;
389+ }
390+
391+ .participation-asistir ,
392+ .year-2023 {
393+ border-left : 4px solid # FF9800 ;
394+ }
395+
396+ .year-2025 : hover {
397+ border-left-color : var (--python-green-dark );
398+ }
399+
400+ .year-2024 : hover {
401+ border-left-color : # 1976D2 ;
402+ }
403+
404+ .year-2023 : hover {
405+ border-left-color : # F57C00 ;
264406}
265407
266408/* -----------------------------------------------------------------------------
267- ENLACES DE COMUNIDAD - SISTEMA OPTIMIZADO
409+ ENLACES DE COMUNIDAD
268410 ----------------------------------------------------------------------------- */
269411
270412.community-links {
322464 transform : scale (1.1 );
323465}
324466
325- /* Sistema optimizado por red social - variables + función */
467+ /* Colores específicos por red social */
326468.community-link .telegram { border-color : var (--telegram-color ); }
327469.community-link .telegram i { color : var (--telegram-color ); }
328470.community-link .telegram : hover { background : var (--telegram-color ); border-color : var (--telegram-color ); box-shadow : 0 8px 25px rgba (0 , 136 , 204 , 0.3 ); }
329- .community-link .telegram : active { box-shadow : 0 4px 15px rgba (0 , 136 , 204 , 0.2 ); }
330471
331472.community-link .meetup { border-color : var (--meetup-color ); }
332473.community-link .meetup i { color : var (--meetup-color ); }
333474.community-link .meetup : hover { background : var (--meetup-color ); border-color : var (--meetup-color ); box-shadow : 0 8px 25px rgba (237 , 28 , 64 , 0.3 ); }
334- .community-link .meetup : active { box-shadow : 0 4px 15px rgba (237 , 28 , 64 , 0.2 ); }
335475
336476.community-link .youtube { border-color : var (--youtube-color ); }
337477.community-link .youtube i { color : var (--youtube-color ); }
338478.community-link .youtube : hover { background : var (--youtube-color ); border-color : var (--youtube-color ); box-shadow : 0 8px 25px rgba (255 , 0 , 0 , 0.3 ); }
339- .community-link .youtube : active { box-shadow : 0 4px 15px rgba (255 , 0 , 0 , 0.2 ); }
340479
341480.community-link .github { border-color : var (--github-color ); }
342481.community-link .github i { color : var (--github-color ); }
343482.community-link .github : hover { background : var (--github-color ); border-color : var (--github-color ); box-shadow : 0 8px 25px rgba (51 , 51 , 51 , 0.3 ); }
344- .community-link .github : active { box-shadow : 0 4px 15px rgba (51 , 51 , 51 , 0.2 ); }
345483
346484.community-link .instagram { border-color : var (--instagram-color ); }
347485.community-link .instagram i { color : var (--instagram-color ); }
348486.community-link .instagram : hover { background : var (--instagram-color ); border-color : var (--instagram-color ); box-shadow : 0 8px 25px rgba (228 , 64 , 95 , 0.3 ); }
349- .community-link .instagram : active { box-shadow : 0 4px 15px rgba (228 , 64 , 95 , 0.2 ); }
350487
351488.community-link .linkedin { border-color : var (--linkedin-color ); }
352489.community-link .linkedin i { color : var (--linkedin-color ); }
353490.community-link .linkedin : hover { background : var (--linkedin-color ); border-color : var (--linkedin-color ); box-shadow : 0 8px 25px rgba (0 , 119 , 181 , 0.3 ); }
354- .community-link .linkedin : active { box-shadow : 0 4px 15px rgba (0 , 119 , 181 , 0.2 ); }
355491
356492@keyframes breathe {
357493 0% , 100% { box-shadow : 0 1px 3px rgba (0 , 0 , 0 , 0.1 ); }
401537}
402538
403539/* -----------------------------------------------------------------------------
404- NAVEGACIÓN RÁPIDA Y SECCIONES ESPECIALES
540+ NAVEGACIÓN Y SECCIONES ESPECIALES
405541 ----------------------------------------------------------------------------- */
406542
407543.quick-navigation {
425561
426562.community-highlight {
427563 border-left : 4px solid var (--md-primary-fg-color );
428- text-align : center;
429564 margin : 2rem 0 ;
565+ padding : 1.5rem ;
430566}
431567
432568.upcoming-events {
433- text-align : center;
434569 margin : 0.75rem 0 ;
435570 padding : 1.25rem 2rem ;
436571}
@@ -465,33 +600,37 @@ h2 .fas, h3 .fas {
465600 ----------------------------------------------------------------------------- */
466601
467602@media (max-width : 768px ) {
468- .participation-grid {
603+ .participation-grid ,
604+ .year-cards {
469605 grid-template-columns : 1fr ;
470606 gap : 1rem ;
471607 }
472608
473609 .participation-grid .participation-card : nth-child (3 ): nth-last-child (1 ) {
474610 grid-column : 1 ;
475- max-width : none;
476611 }
477612
478- .community-links {
613+ .stats-grid {
479614 grid-template-columns : repeat (2 , 1fr );
615+ gap : 1rem ;
616+ }
617+
618+ .community-links {
619+ justify-content : center;
480620 gap : 0.75rem ;
481621 }
482622
483623 .community-link {
484- padding : 0.875rem 1rem ;
485- font-size : 0.85rem ;
486- border-radius : 0.75rem ;
624+ min-width : 140px ;
625+ padding : 1rem ;
487626 }
488627
489628 .community-link i {
490- font-size : 1.1 em ;
629+ font-size : 1.5 rem ;
491630 }
492631
493632 .hero-section {
494- padding : 2 rem 1rem ;
633+ padding : 1.5 rem 1rem ;
495634 }
496635
497636 .hero-logo {
@@ -506,6 +645,6 @@ h2 .fas, h3 .fas {
506645
507646 .action-buttons a {
508647 width : 100% ;
509- max-width : 17.5 rem ;
648+ max-width : 250 px ;
510649 }
511650}
0 commit comments