.age-confirm-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
}

.age-confirm-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.age-confirm-box {
  background: #fff;
  width: 90%;
  max-width: 450px;
  padding: 24px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transform: translateY(10px);
  transition: transform 0.25s ease;
}

.close-button {
  position: absolute;
  top: 12px;
  right: 12px;
  cursor: pointer;
}

.age-confirm-modal.is-open .age-confirm-box {
  transform: translateY(0);
}

.age-confirm-title {
  font-size: 24px;
  margin-bottom: 12px;
  color: #111;
  margin-top: 0;
  font-weight: 600;
}

.age-confirm-question {
  font-size: 16px;
  margin-bottom: 8px;
}

.age-confirm-desc {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
}

.age-confirm-actions {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.age-confirm-actions .btn-no,
.age-confirm-actions .btn-yes {
  flex: 1;
  padding: 10px 0;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}
.age-confirm-actions .btn-no:hover,
.age-confirm-actions .btn-yes:hover {
  opacity: 0.8;
}

.btn-no {
  background: #e5e5e5;
  color: #333;
}

.btn-yes {
  background: var(--primary, #2199c4);
  color: #fff;
}

body.modal-open {
  overflow: hidden;
}

/* [29/08/2026] Che anh trong phan mo ta khi cong 18+ dang khoa.
   Server chi thay anh mo ta bang 18.png cho khach DA DANG NHAP va duoi 18 tuoi, ma nhanh
   do lai thuong duoc phuc vu tu ban cache vo danh (Interceptor-Cache-State: HIT-LOGGEDIN)
   nen anh that van hien. ChiakiAgeGate gan class nay len <body> de bit not duong do.
   #product-detail la khung mo ta ban desktop, #contentId la ban mobile. */
body.age-locked #product-detail img,
body.age-locked #contentId img {
  filter: blur(20px);
}
