.elementor-16 .elementor-element.elementor-element-d4ebf45{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-19270b5{--display:flex;--min-height:6vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:100px;--margin-bottom:0px;--margin-left:-23px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-19270b5.e-con{--align-self:flex-start;}.elementor-16 .elementor-element.elementor-element-93a07c3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;top:1.633%;z-index:1;text-align:left;}.elementor-16 .elementor-element.elementor-element-93a07c3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-93a07c3.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}body:not(.rtl) .elementor-16 .elementor-element.elementor-element-93a07c3{left:1.707%;}body.rtl .elementor-16 .elementor-element.elementor-element-93a07c3{right:1.707%;}.elementor-16 .elementor-element.elementor-element-93a07c3 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:4.6rem;font-weight:600;text-transform:none;font-style:normal;letter-spacing:-5px;}.elementor-16 .elementor-element.elementor-element-6d488e4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 0px;--row-gap:40px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:140px;--padding-left:40px;--padding-right:40px;}.elementor-16 .elementor-element.elementor-element-6d488e4:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-6d488e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-16 .elementor-element.elementor-element-a4cd6dd{--display:flex;--gap:12px 0px;--row-gap:12px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-a4cd6dd.e-con{--align-self:flex-start;}.elementor-16 .elementor-element.elementor-element-b84560b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-852d6d5{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-a85098f{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-e34c42d{text-align:center;}.elementor-16 .elementor-element.elementor-element-e34c42d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-55a4383 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-4043cfe{--display:flex;}.elementor-16 .elementor-element.elementor-element-e8d0a1f .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-42df05d{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-367eab0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-da132c2{text-align:center;}.elementor-16 .elementor-element.elementor-element-da132c2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-d45ea87 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-bd130f6{--display:flex;}.elementor-16 .elementor-element.elementor-element-052d80d .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-d84094c{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-b617fb3{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-962607d{text-align:center;}.elementor-16 .elementor-element.elementor-element-962607d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-497408d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-c3efd1d{--display:flex;}.elementor-16 .elementor-element.elementor-element-c146e63 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-b1d4a36{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-93d8861{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-6c6d98b{text-align:center;}.elementor-16 .elementor-element.elementor-element-6c6d98b .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-150f3bd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-aac6ada{--display:flex;}.elementor-16 .elementor-element.elementor-element-537edbd .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-cadedc6{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-b9da439{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-b403e8f{text-align:center;}.elementor-16 .elementor-element.elementor-element-b403e8f .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-fd0a33e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-f57cb57{--display:flex;}.elementor-16 .elementor-element.elementor-element-b754e77 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-dced4f3{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-9ff92a5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-c3316c1{text-align:center;}.elementor-16 .elementor-element.elementor-element-c3316c1 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-1ec95a8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-57a7891{--display:flex;}.elementor-16 .elementor-element.elementor-element-f176297 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-3052352{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-fa8c1b9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-fdb0f12{text-align:center;}.elementor-16 .elementor-element.elementor-element-fdb0f12 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-0624b80 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-2f7569a{--display:flex;}.elementor-16 .elementor-element.elementor-element-01b8a65 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-de2095e{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-eccc828{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-c90813d{text-align:center;}.elementor-16 .elementor-element.elementor-element-c90813d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-a5fdb50 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-c672f35{--display:flex;}.elementor-16 .elementor-element.elementor-element-43dcd44 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-78a88bf{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-4ee3613{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-b39df37{text-align:center;}.elementor-16 .elementor-element.elementor-element-b39df37 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-7d13050 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-c5e4b41{--display:flex;}.elementor-16 .elementor-element.elementor-element-b32da01 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-ce0d217{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-220fc1b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-7929fd2{text-align:center;}.elementor-16 .elementor-element.elementor-element-7929fd2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-2f1fa2e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-efb3257{--display:flex;}.elementor-16 .elementor-element.elementor-element-9e5ddcb .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-855d17e{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-054ad08{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-76b99d9{text-align:center;}.elementor-16 .elementor-element.elementor-element-76b99d9 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-d87edb5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-b7a1c03{--display:flex;}.elementor-16 .elementor-element.elementor-element-ca8cc34 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-0a42ace{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-ef9ee89{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-03648b6{text-align:center;}.elementor-16 .elementor-element.elementor-element-03648b6 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-a8b0208 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-099b934{--display:flex;}.elementor-16 .elementor-element.elementor-element-7abd9fb .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-365e888{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-9057978{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-d767d28{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-7dd0fc7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-b970cf0{text-align:center;}.elementor-16 .elementor-element.elementor-element-b970cf0 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-144867a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-51159ff{--display:flex;}.elementor-16 .elementor-element.elementor-element-188806b .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-4e5da20{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-344f058{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-69510eb{text-align:center;}.elementor-16 .elementor-element.elementor-element-69510eb .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-5fcb840 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-06d08e6{--display:flex;}.elementor-16 .elementor-element.elementor-element-fe9d734 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-9e96a8c{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-a15340d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-516145d{text-align:center;}.elementor-16 .elementor-element.elementor-element-516145d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-04e23fe > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-e5ffa56{--display:flex;}.elementor-16 .elementor-element.elementor-element-cfb3265 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-a6ef811{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-0bbff6c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-3bff614{text-align:center;}.elementor-16 .elementor-element.elementor-element-3bff614 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-e7edc9a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-708d375{--display:flex;}.elementor-16 .elementor-element.elementor-element-cc8eb2b .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-c9210ce{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-d4eb6f0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-9097baf{text-align:center;}.elementor-16 .elementor-element.elementor-element-9097baf .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-2018a6c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-a892243{--display:flex;}.elementor-16 .elementor-element.elementor-element-c581969 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-7a39022{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-be55067{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-7b4e09e{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-8437bed{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-c2657c8{text-align:center;}.elementor-16 .elementor-element.elementor-element-c2657c8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-8d9cc39 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-44997c1{--display:flex;}.elementor-16 .elementor-element.elementor-element-d2f4763 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-f86c4ed{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-95f86b7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-c11c6dc{text-align:center;}.elementor-16 .elementor-element.elementor-element-c11c6dc .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-c8c3f93 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-36a85c7{--display:flex;}.elementor-16 .elementor-element.elementor-element-13eb17d .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-33363a2{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-8cc978f{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-f10d7f9{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-730a1d4{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-1a51dd8{text-align:center;}.elementor-16 .elementor-element.elementor-element-1a51dd8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-2b16648 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-95bb034{--display:flex;}.elementor-16 .elementor-element.elementor-element-0391c57 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-02b1a32{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-5ddc84d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-60e7bd7{text-align:center;}.elementor-16 .elementor-element.elementor-element-60e7bd7 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-74e88a9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-d2735d8{--display:flex;}.elementor-16 .elementor-element.elementor-element-684bbb9 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-ad43162{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-1219134{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-e3b2816{text-align:center;}.elementor-16 .elementor-element.elementor-element-e3b2816 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-27c207a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-6dee4d5{--display:flex;}.elementor-16 .elementor-element.elementor-element-54be1e3 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-64a920b{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-5a5a0b6{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-90b0974{text-align:center;}.elementor-16 .elementor-element.elementor-element-90b0974 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-4be3130 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-ae8688e{--display:flex;}.elementor-16 .elementor-element.elementor-element-79a8ef3 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-ca53603{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-e0bb0b2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-5567b56{text-align:center;}.elementor-16 .elementor-element.elementor-element-5567b56 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-bd3dde1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-5ed9196{--display:flex;}.elementor-16 .elementor-element.elementor-element-465d0f4 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-16 .elementor-element.elementor-element-89fcd92{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-16 .elementor-element.elementor-element-ee04532{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;--n-tabs-title-gap:32px;--n-tabs-gap:80px;--n-tabs-title-border-radius:0px 0px 0px 0px;--n-tabs-title-padding-top:0px;--n-tabs-title-padding-right:0px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:0px;--n-tabs-title-font-size:20px;--n-tabs-title-color:#000000;--n-tabs-title-color-active:#FF5500;}.elementor-16 .elementor-element.elementor-element-ee04532 > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-astglobalcolor5 );}.elementor-16 .elementor-element.elementor-element-ee04532.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-astglobalcolor5 );}.elementor-16 .elementor-element.elementor-element-ee04532.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-16 .elementor-element.elementor-element-ee04532.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-astglobalcolor5 );border-style:solid;border-width:0px 0px 2px 0px;border-color:var( --e-global-color-astglobalcolor3 );}.elementor-16 .elementor-element.elementor-element-ee04532 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-ee04532.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:none;}.elementor-16 .elementor-element.elementor-element-ee04532.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Inter", Sans-serif;font-weight:400;letter-spacing:-1px;}.elementor-16 .elementor-element.elementor-element-ee04532 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#FF884D;}@media(max-width:1024px){.elementor-16 .elementor-element.elementor-element-d4ebf45{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:180px;--padding-bottom:40px;--padding-left:32px;--padding-right:32px;}.elementor-16 .elementor-element.elementor-element-19270b5{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:180px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}body:not(.rtl) .elementor-16 .elementor-element.elementor-element-93a07c3{left:47.076%;}body.rtl .elementor-16 .elementor-element.elementor-element-93a07c3{right:47.076%;}.elementor-16 .elementor-element.elementor-element-93a07c3{top:5.395%;}.elementor-16 .elementor-element.elementor-element-6d488e4{--gap:20px 0px;--row-gap:20px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:60px;--padding-right:60px;}.elementor-16 .elementor-element.elementor-element-a4cd6dd{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-852d6d5{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-d767d28{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-be55067{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-16 .elementor-element.elementor-element-7b4e09e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-f10d7f9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-ee04532{--n-tabs-gap:60px;}}@media(max-width:767px){.elementor-16 .elementor-element.elementor-element-d4ebf45{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:140px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-16 .elementor-element.elementor-element-19270b5{--min-height:100vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:90px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-16 .elementor-element.elementor-element-93a07c3 > .elementor-widget-container{margin:46% 0% 0% -43%;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-93a07c3{--container-widget-width:415px;--container-widget-flex-grow:0;width:var( --container-widget-width, 415px );max-width:415px;}.elementor-16 .elementor-element.elementor-element-93a07c3 .elementor-heading-title{font-size:2.2rem;letter-spacing:-2.2px;}.elementor-16 .elementor-element.elementor-element-6d488e4{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-16 .elementor-element.elementor-element-a4cd6dd{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-852d6d5{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-d767d28{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-7b4e09e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-f10d7f9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-16 .elementor-element.elementor-element-ee04532{--n-tabs-title-gap:24px;--n-tabs-gap:40px;--n-tabs-title-font-size:20px;}}@media(min-width:768px){.elementor-16 .elementor-element.elementor-element-d4ebf45{--content-width:1400px;}.elementor-16 .elementor-element.elementor-element-19270b5{--content-width:1400px;}.elementor-16 .elementor-element.elementor-element-6d488e4{--content-width:1400px;}.elementor-16 .elementor-element.elementor-element-a4cd6dd{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-16 .elementor-element.elementor-element-a4cd6dd{--width:100%;}}/* Start custom CSS for heading, class: .elementor-element-93a07c3 */.texter {
     mix-blend-mode: difference;
  transition: mix-blend-mode 0.5s ease;
}

/* Adjust the blend mode on scroll */
.scrolled .texter {
  mix-blend-mode: normal;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a85098f *//* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== FORCE SHARP EDGES ===== */
.grid-item,
.elementor .grid-item,
.elementor-element .grid-item,
div.grid-item,
.grid-item img,
.elementor .grid-item img,
div.grid-item img,
.grid-overlay,
.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  border-radius: 0 !important;
}

/* ===== GRID CONTAINER - NO GLASSMORPHISM ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.grid-item:hover {
  cursor: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* FORCE CURSOR HIDING ON EVERYTHING INSIDE GRID ITEMS */
.grid-item,
.grid-item *,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after,
.grid-item:hover,
.grid-item:hover *,
.grid-item a,
.grid-item a:hover,
.grid-item img,
.grid-item img:hover,
.grid-item div,
.grid-item div:hover,
.grid-item span,
.grid-item span:hover {
  cursor: none !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
  will-change: transform !important;
  cursor: none !important;
  transform-origin: center center !important;
}

.grid-item:hover img {
  transform: scale(1.15) !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* Hide cursor on all grid item children */
.grid-item *,
.grid-item a,
.grid-item img,
.grid-item div {
  cursor: none !important;
}

/* ===== FLAG STYLING - NO GLASSMORPHISM ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0.9 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  cursor: none !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY SYSTEM - ENHANCED SPECIFICITY ===== */
.grid-overlay,
.grid-item .grid-overlay,
div.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: none !important;
}

.grid-item:hover .grid-overlay,
div.grid-item:hover .grid-overlay,
.elementor .grid-item:hover .grid-overlay,
.grid-item:hover > .grid-overlay {
  opacity: 1 !important;
  display: flex !important;
  visibility: visible !important;
}

/* ===== TITLE STYLING ===== */
.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: none !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: none !important;
  transition: none !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: none !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

/* ===== DESCRIPTION - CLEAN WHITE TEXT ON DARK OVERLAY ===== */
.overlay-description,
.grid-item .overlay-description,
.grid-overlay .overlay-description,
div.overlay-description {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  max-width: 80% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 25 !important;
  transform: none !important;
  transition: none !important;
  
  /* CLEAN TEXT - NO BACKGROUND NEEDED */
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: none !important;
}

/* Extra specificity for stubborn cases */
.grid-item:hover .overlay-description,
.grid-overlay:hover .overlay-description {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Remove text animations completely */
.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: none !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 3px 6px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-367eab0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b617fb3 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-93d8861 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9da439 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ff92a5 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa8c1b9 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eccc828 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ee3613 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-220fc1b *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-054ad08 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ef9ee89 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7dd0fc7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-344f058 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a15340d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bbff6c *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d4eb6f0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8437bed *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-95f86b7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-730a1d4 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ddc84d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1219134 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a5a0b6 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0bb0b2 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a85098f *//* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== FORCE SHARP EDGES ===== */
.grid-item,
.elementor .grid-item,
.elementor-element .grid-item,
div.grid-item,
.grid-item img,
.elementor .grid-item img,
div.grid-item img,
.grid-overlay,
.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  border-radius: 0 !important;
}

/* ===== GRID CONTAINER - NO GLASSMORPHISM ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.grid-item:hover {
  cursor: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* FORCE CURSOR HIDING ON EVERYTHING INSIDE GRID ITEMS */
.grid-item,
.grid-item *,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after,
.grid-item:hover,
.grid-item:hover *,
.grid-item a,
.grid-item a:hover,
.grid-item img,
.grid-item img:hover,
.grid-item div,
.grid-item div:hover,
.grid-item span,
.grid-item span:hover {
  cursor: none !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
  will-change: transform !important;
  cursor: none !important;
  transform-origin: center center !important;
}

.grid-item:hover img {
  transform: scale(1.15) !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* Hide cursor on all grid item children */
.grid-item *,
.grid-item a,
.grid-item img,
.grid-item div {
  cursor: none !important;
}

/* ===== FLAG STYLING - NO GLASSMORPHISM ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0.9 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  cursor: none !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY SYSTEM - ENHANCED SPECIFICITY ===== */
.grid-overlay,
.grid-item .grid-overlay,
div.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: none !important;
}

.grid-item:hover .grid-overlay,
div.grid-item:hover .grid-overlay,
.elementor .grid-item:hover .grid-overlay,
.grid-item:hover > .grid-overlay {
  opacity: 1 !important;
  display: flex !important;
  visibility: visible !important;
}

/* ===== TITLE STYLING ===== */
.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: none !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: none !important;
  transition: none !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: none !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

/* ===== DESCRIPTION - CLEAN WHITE TEXT ON DARK OVERLAY ===== */
.overlay-description,
.grid-item .overlay-description,
.grid-overlay .overlay-description,
div.overlay-description {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  max-width: 80% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 25 !important;
  transform: none !important;
  transition: none !important;
  
  /* CLEAN TEXT - NO BACKGROUND NEEDED */
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: none !important;
}

/* Extra specificity for stubborn cases */
.grid-item:hover .overlay-description,
.grid-overlay:hover .overlay-description {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Remove text animations completely */
.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: none !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 3px 6px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-367eab0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b617fb3 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-93d8861 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9da439 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ff92a5 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa8c1b9 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eccc828 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ee3613 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-220fc1b *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-054ad08 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ef9ee89 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7dd0fc7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-344f058 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a15340d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bbff6c *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d4eb6f0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8437bed *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-95f86b7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-730a1d4 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ddc84d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1219134 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a5a0b6 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0bb0b2 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a85098f *//* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== FORCE SHARP EDGES ===== */
.grid-item,
.elementor .grid-item,
.elementor-element .grid-item,
div.grid-item,
.grid-item img,
.elementor .grid-item img,
div.grid-item img,
.grid-overlay,
.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  border-radius: 0 !important;
}

/* ===== GRID CONTAINER - NO GLASSMORPHISM ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.grid-item:hover {
  cursor: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* FORCE CURSOR HIDING ON EVERYTHING INSIDE GRID ITEMS */
.grid-item,
.grid-item *,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after,
.grid-item:hover,
.grid-item:hover *,
.grid-item a,
.grid-item a:hover,
.grid-item img,
.grid-item img:hover,
.grid-item div,
.grid-item div:hover,
.grid-item span,
.grid-item span:hover {
  cursor: none !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
  will-change: transform !important;
  cursor: none !important;
  transform-origin: center center !important;
}

.grid-item:hover img {
  transform: scale(1.15) !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* Hide cursor on all grid item children */
.grid-item *,
.grid-item a,
.grid-item img,
.grid-item div {
  cursor: none !important;
}

/* ===== FLAG STYLING - NO GLASSMORPHISM ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0.9 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  cursor: none !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY SYSTEM - ENHANCED SPECIFICITY ===== */
.grid-overlay,
.grid-item .grid-overlay,
div.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: none !important;
}

.grid-item:hover .grid-overlay,
div.grid-item:hover .grid-overlay,
.elementor .grid-item:hover .grid-overlay,
.grid-item:hover > .grid-overlay {
  opacity: 1 !important;
  display: flex !important;
  visibility: visible !important;
}

/* ===== TITLE STYLING ===== */
.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: none !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: none !important;
  transition: none !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: none !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

/* ===== DESCRIPTION - CLEAN WHITE TEXT ON DARK OVERLAY ===== */
.overlay-description,
.grid-item .overlay-description,
.grid-overlay .overlay-description,
div.overlay-description {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  max-width: 80% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 25 !important;
  transform: none !important;
  transition: none !important;
  
  /* CLEAN TEXT - NO BACKGROUND NEEDED */
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: none !important;
}

/* Extra specificity for stubborn cases */
.grid-item:hover .overlay-description,
.grid-overlay:hover .overlay-description {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Remove text animations completely */
.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: none !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 3px 6px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-367eab0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b617fb3 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-93d8861 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9da439 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ff92a5 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa8c1b9 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eccc828 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ee3613 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-220fc1b *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-054ad08 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ef9ee89 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7dd0fc7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-344f058 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a15340d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bbff6c *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d4eb6f0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8437bed *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-95f86b7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-730a1d4 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ddc84d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1219134 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a5a0b6 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0bb0b2 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a85098f *//* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== FORCE SHARP EDGES ===== */
.grid-item,
.elementor .grid-item,
.elementor-element .grid-item,
div.grid-item,
.grid-item img,
.elementor .grid-item img,
div.grid-item img,
.grid-overlay,
.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  border-radius: 0 !important;
}

/* ===== GRID CONTAINER - NO GLASSMORPHISM ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.grid-item:hover {
  cursor: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* FORCE CURSOR HIDING ON EVERYTHING INSIDE GRID ITEMS */
.grid-item,
.grid-item *,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after,
.grid-item:hover,
.grid-item:hover *,
.grid-item a,
.grid-item a:hover,
.grid-item img,
.grid-item img:hover,
.grid-item div,
.grid-item div:hover,
.grid-item span,
.grid-item span:hover {
  cursor: none !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
  will-change: transform !important;
  cursor: none !important;
  transform-origin: center center !important;
}

.grid-item:hover img {
  transform: scale(1.15) !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* Hide cursor on all grid item children */
.grid-item *,
.grid-item a,
.grid-item img,
.grid-item div {
  cursor: none !important;
}

/* ===== FLAG STYLING - NO GLASSMORPHISM ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0.9 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  cursor: none !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY SYSTEM - ENHANCED SPECIFICITY ===== */
.grid-overlay,
.grid-item .grid-overlay,
div.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: none !important;
}

.grid-item:hover .grid-overlay,
div.grid-item:hover .grid-overlay,
.elementor .grid-item:hover .grid-overlay,
.grid-item:hover > .grid-overlay {
  opacity: 1 !important;
  display: flex !important;
  visibility: visible !important;
}

/* ===== TITLE STYLING ===== */
.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: none !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: none !important;
  transition: none !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: none !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

/* ===== DESCRIPTION - CLEAN WHITE TEXT ON DARK OVERLAY ===== */
.overlay-description,
.grid-item .overlay-description,
.grid-overlay .overlay-description,
div.overlay-description {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  max-width: 80% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 25 !important;
  transform: none !important;
  transition: none !important;
  
  /* CLEAN TEXT - NO BACKGROUND NEEDED */
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: none !important;
}

/* Extra specificity for stubborn cases */
.grid-item:hover .overlay-description,
.grid-overlay:hover .overlay-description {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Remove text animations completely */
.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: none !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 3px 6px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-367eab0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b617fb3 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-93d8861 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9da439 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ff92a5 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa8c1b9 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eccc828 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ee3613 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-220fc1b *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-054ad08 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ef9ee89 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7dd0fc7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-344f058 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a15340d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bbff6c *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d4eb6f0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8437bed *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-95f86b7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-730a1d4 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ddc84d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1219134 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a5a0b6 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0bb0b2 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a85098f *//* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== FORCE SHARP EDGES ===== */
.grid-item,
.elementor .grid-item,
.elementor-element .grid-item,
div.grid-item,
.grid-item img,
.elementor .grid-item img,
div.grid-item img,
.grid-overlay,
.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  border-radius: 0 !important;
}

/* ===== GRID CONTAINER - NO GLASSMORPHISM ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.grid-item:hover {
  cursor: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* FORCE CURSOR HIDING ON EVERYTHING INSIDE GRID ITEMS */
.grid-item,
.grid-item *,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after,
.grid-item:hover,
.grid-item:hover *,
.grid-item a,
.grid-item a:hover,
.grid-item img,
.grid-item img:hover,
.grid-item div,
.grid-item div:hover,
.grid-item span,
.grid-item span:hover {
  cursor: none !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
  will-change: transform !important;
  cursor: none !important;
  transform-origin: center center !important;
}

.grid-item:hover img {
  transform: scale(1.15) !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* Hide cursor on all grid item children */
.grid-item *,
.grid-item a,
.grid-item img,
.grid-item div {
  cursor: none !important;
}

/* ===== FLAG STYLING - NO GLASSMORPHISM ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0.9 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  cursor: none !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY SYSTEM - ENHANCED SPECIFICITY ===== */
.grid-overlay,
.grid-item .grid-overlay,
div.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: none !important;
}

.grid-item:hover .grid-overlay,
div.grid-item:hover .grid-overlay,
.elementor .grid-item:hover .grid-overlay,
.grid-item:hover > .grid-overlay {
  opacity: 1 !important;
  display: flex !important;
  visibility: visible !important;
}

/* ===== TITLE STYLING ===== */
.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: none !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: none !important;
  transition: none !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: none !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

/* ===== DESCRIPTION - CLEAN WHITE TEXT ON DARK OVERLAY ===== */
.overlay-description,
.grid-item .overlay-description,
.grid-overlay .overlay-description,
div.overlay-description {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  max-width: 80% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 25 !important;
  transform: none !important;
  transition: none !important;
  
  /* CLEAN TEXT - NO BACKGROUND NEEDED */
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: none !important;
}

/* Extra specificity for stubborn cases */
.grid-item:hover .overlay-description,
.grid-overlay:hover .overlay-description {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Remove text animations completely */
.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: none !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 3px 6px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-367eab0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b617fb3 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-93d8861 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9da439 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ff92a5 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa8c1b9 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eccc828 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ee3613 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-220fc1b *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-054ad08 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ef9ee89 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7dd0fc7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-344f058 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a15340d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bbff6c *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d4eb6f0 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8437bed *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-95f86b7 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-730a1d4 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ddc84d *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1219134 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a5a0b6 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0bb0b2 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */