/* OMEGA Slider — Thư viện ảnh (v2.0.0) */

.omega-swiper{ max-width:1200px; margin:0 auto; padding:16px 10px 34px; position:relative; }

/* Không set width cho slide — slidesPerView chia đều, không cắt mép */
.omega-swiper .swiper-slide{
  height:auto; position:relative; border-radius:16px; overflow:hidden;
  background:#eef2ec; box-shadow:0 12px 30px rgba(15,61,33,.14);
}
.omega-swiper .swiper-slide img{
  width:100%; height:var(--omega-h,260px); object-fit:cover; display:block;
  transition:transform .55s ease;
}
.omega-swiper .swiper-slide:hover img{ transform:scale(1.06); }

/* Con trỏ: chỉ có zoom khi bật lightbox; có link thì là pointer */
.omega-swiper[data-lightbox="1"] .swiper-slide{ cursor:zoom-in; }
.omega-swiper .swiper-slide.has-link{ cursor:pointer; }
.omega-swiper .omega-wrap{ display:block; text-decoration:none; color:inherit; }

/* Tiêu đề + mô tả */
.omega-cap{
  position:absolute; left:0; right:0; bottom:0; pointer-events:none;
  display:flex; flex-direction:column; gap:3px; padding:38px 16px 14px; color:#fff;
  background:linear-gradient(to top, rgba(6,20,11,.85), rgba(6,20,11,.35) 55%, rgba(6,20,11,0));
}
.omega-cap strong{ font-size:16px; font-weight:700; line-height:1.3; text-wrap:pretty; }
.omega-cap span{ font-size:13px; line-height:1.45; color:rgba(255,255,255,.85); }

/* Chip link khi đã bật phóng to */
.omega-chip{
  position:absolute; top:12px; right:12px; z-index:2;
  padding:7px 12px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.01em;
  background:rgba(255,255,255,.94); color:var(--omega-accent,#1f8a3b); text-decoration:none;
  box-shadow:0 6px 16px rgba(15,61,33,.24); opacity:0; transform:translateY(-4px);
  transition:opacity .25s ease, transform .25s ease, background .2s ease, color .2s ease;
}
.omega-swiper .swiper-slide:hover .omega-chip,
.omega-swiper.omega-nav-show .omega-chip{ opacity:1; transform:none; }
.omega-chip:hover{ background:var(--omega-accent,#1f8a3b); color:#fff; }

/* Mũi tên: ẩn sẵn, chỉ hiện khi hover (PC) hoặc chạm/vuốt (mobile) */
.omega-swiper .swiper-button-next,
.omega-swiper .swiper-button-prev{
  width:48px; height:48px; border-radius:50%; background:#fff; color:var(--omega-accent,#1f8a3b);
  box-shadow:0 8px 20px rgba(15,61,33,.22); margin-top:-24px;
  opacity:0; visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease, background .25s ease, color .25s ease, transform .25s ease;
}
.omega-swiper .swiper-button-prev{ left:14px; }
.omega-swiper .swiper-button-next{ right:14px; }
.omega-swiper:hover .swiper-button-next,
.omega-swiper:hover .swiper-button-prev,
.omega-swiper:focus-within .swiper-button-next,
.omega-swiper:focus-within .swiper-button-prev,
.omega-swiper.omega-nav-show .swiper-button-next,
.omega-swiper.omega-nav-show .swiper-button-prev{ opacity:1; visibility:visible; }
.omega-swiper .swiper-button-next:hover,
.omega-swiper .swiper-button-prev:hover{ background:var(--omega-accent,#1f8a3b); color:#fff; transform:scale(1.08); }
.omega-swiper .swiper-button-next::after,
.omega-swiper .swiper-button-prev::after{ font-size:18px; font-weight:800; }

@media (max-width:1024px){ .omega-swiper .swiper-slide img{ height:calc(var(--omega-h,260px) - 20px); } }
@media (max-width:767px){
  .omega-swiper{ padding:10px 4px 26px; }
  .omega-swiper .swiper-slide img{ height:calc(var(--omega-h,260px) + 40px); }
  .omega-swiper .swiper-button-next,
  .omega-swiper .swiper-button-prev{ width:40px; height:40px; margin-top:-20px; }
  .omega-swiper .swiper-button-prev{ left:8px; }
  .omega-swiper .swiper-button-next{ right:8px; }
  .omega-swiper .swiper-button-next::after,
  .omega-swiper .swiper-button-prev::after{ font-size:15px; }
  .omega-chip{ opacity:1; transform:none; }
}

/* Lightbox (chỉ dùng khi lightbox="yes") */
.omega-lb{
  position:fixed; inset:0; z-index:99999; display:none;
  align-items:center; justify-content:center; padding:24px;
  background:rgba(7,18,11,.93); backdrop-filter:blur(4px);
}
.omega-lb.is-open{ display:flex; animation:omegaLbIn .22s ease both; }
@keyframes omegaLbIn{ from{opacity:0} to{opacity:1} }
.omega-lb img{
  max-width:92vw; max-height:80vh; border-radius:12px; display:block;
  box-shadow:0 30px 90px rgba(0,0,0,.55); animation:omegaLbZoom .25s ease both;
}
@keyframes omegaLbZoom{ from{transform:scale(.96);opacity:0} to{transform:scale(1);opacity:1} }
.omega-lb button{
  position:absolute; border:0; cursor:pointer; color:#fff; line-height:1;
  background:rgba(255,255,255,.14); border-radius:50%; transition:.2s;
}
.omega-lb button:hover{ background:#1f8a3b; }
.omega-lb-close{ top:20px; right:22px; width:44px; height:44px; font-size:26px; }
.omega-lb-prev,.omega-lb-next{ top:50%; margin-top:-26px; width:52px; height:52px; font-size:30px; }
.omega-lb-prev{ left:20px; }
.omega-lb-next{ right:20px; }
.omega-lb-cap{ position:absolute; bottom:56px; left:0; right:0; padding:0 80px; text-align:center; color:#fff; }
.omega-lb-cap strong{ display:block; font-size:18px; font-weight:700; line-height:1.35; }
.omega-lb-cap span{ display:block; margin-top:4px; font-size:14px; color:rgba(255,255,255,.8); }
.omega-lb-cap a{
  display:inline-block; margin-top:10px; padding:8px 16px; border-radius:999px;
  background:#1f8a3b; color:#fff; font-size:13px; font-weight:700; text-decoration:none;
}
.omega-lb-cap a:hover{ background:#166b2d; }
.omega-lb-count{
  position:absolute; bottom:22px; left:0; right:0; text-align:center;
  color:rgba(255,255,255,.7); font-size:13px; letter-spacing:.04em;
}
@media (max-width:640px){
  .omega-lb-prev,.omega-lb-next{ width:42px; height:42px; font-size:24px; }
  .omega-lb-prev{ left:8px; }
  .omega-lb-next{ right:8px; }
  .omega-lb-cap{ padding:0 24px; bottom:52px; }
  .omega-lb-cap strong{ font-size:16px; }
}
