@layer utilities {
  .content-auto{content-visibility:auto}
  .text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}
  .text-shadow-lg{text-shadow:0 4px 8px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.08)}
  .masonry-grid{column-count:1;column-gap:1.5rem;margin-top:2rem}
  @media (min-width:768px){.masonry-grid{column-count:2}}
  @media (min-width:1024px){.masonry-grid{column-count:3}}
  @media (min-width:1280px){.masonry-grid{column-count:4}}
  .masonry-item{break-inside:avoid;margin-bottom:1.5rem;width:336px;transition:transform .3s ease}
  .masonry-item:hover{transform:scale(1.05)}
  .fade-in{animation:fadeIn .5s ease-in-out}
  @keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}
  @keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}
}
#navbar{height:80px;margin-bottom:2rem}
#search-container{display:flex;justify-content:center;align-items:center;flex-grow:1}
#floating-footer{height:40px;background-color:#f8f9fa;border-top:1px solid #e7e7e7;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:fixed;bottom:-40px;left:0;right:0;z-index:100;margin-top:2rem}
#floating-footer.visible{bottom:0}
#floating-footer a,#floating-footer .footer-text{color:#6c757d;font-size:12px;margin:0 10px;text-decoration:none}
#floating-footer a:hover{color:#2563eb}
#weather-container{position:relative;margin-bottom:2rem}
#weather-iframe{pointer-events:none}
#weather-expanded-iframe{position:absolute;top:60px;right:0;display:none;z-index:1000}
.slider-container{position:relative;height:400px;overflow:hidden;margin-bottom:2rem}
.slider-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease-in-out}
.slider-item.active{opacity:1}
.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.slider-dot{width:10px;height:10px;border-radius:50%;background-color:rgba(255,255,255,.5);cursor:pointer}
.slider-dot.active{background-color:#fff}
.masonry-item .bg-white{width:100%;overflow:hidden}
.masonry-item .bg-white .relative{max-height:200px;overflow:hidden}
.masonry-item .bg-white .p-5 h3,.masonry-item .bg-white .p-5 p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.masonry-item .bg-white .p-5 p{-webkit-line-clamp:3}
.masonry-item.ad .bg-white{width:100%;position:relative}
.masonry-item.ad .bg-white .absolute{top:3px;right:3px;z-index:10}
.ad-label{border:1px solid #ABABAB;border-radius:4px;padding:2px 4px}
.hide-scrollbar::-webkit-scrollbar{display:none}
#promoted-links{max-height:30px;line-height:30px;margin:1.5rem 0;overflow:hidden}
#promoted-links .container{padding:0}
#promoted-links a{padding:0;border-radius:4px}
#promoted-links a:hover{background-color:rgba(37,99,235,.05)}
section.mb-8.overflow-x-auto.sticky.top-\[80px\].z-40.bg-white.shadow-sm{max-height:50px;line-height:50px;overflow:hidden;margin-bottom:2rem}