/* Odoo Materials Tabs base */
.odoo-materials {
    margin: 12px 0;
}

.odoo-materials-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.odoo-materials-tab {
  background: #EAE6E2;
  opacity: 0.9;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  border-radius: 5px;
  color: #222;
  border: none;
  display: flex;
  align-items: center;
  gap: 12px;
}

.odoo-materials-tab:hover {
    background: #EAE6E4;
    opacity: 1;
}

.odoo-materials-tab.is-active {
    background: #d6cec5;
    opacity: 1;
}

.odoo-materials-tab-count-badge {
  background: #fff;
  height: 24px;
  min-width: 24px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  padding: 2px 5px;
}

.odoo-materials-panel {
    display: none;
}

.odoo-materials-panel.is-active {
    display: block;
}

.odoo-materials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}

.odoo-materials-card {
  border: 1px solid #eee;
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 0;
  text-align: inherit;
}

.odoo-materials-card.is-clickable {
    cursor: zoom-in;
}

.odoo-materials-imgwrap {
  aspect-ratio: 1/1;
  background: #f6f6f6;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.odoo-materials-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.odoo-materials-label {
    padding: 10px;
    font-size: 13px;
    text-align: center;
}

.odoo-materials-empty {
  padding: 10px;
  border: 1px solid #ddd;
  background: #fafafa;
  border-radius: 5px;
}

.odoo-materials-error {
  padding: 10px;
  border: 1px solid #f3c2c2;
  background: #fff5f5;
  border-radius: 5px;
}

/* Lightbox */
.omt-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
}

.omt-lightbox[hidden] {
    display: none;
}

.omt-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.65);
}

.omt-lightbox-dialog {
  position: relative;
  margin: 5vh auto;
  width: min(920px, 92vw);
  max-height: 90vh;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
  display: flex;
  flex-direction: column;
}

/* Reserve square space + cover image */
.omt-lightbox-body {
    padding: 0 0 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

.omt-lightbox-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  background: #f6f6f6;
  border-radius: 0;
  overflow: hidden;
}

.omt-lightbox-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 1;
  transition: opacity .15s ease;
}

/* Loading overlay */
.omt-lightbox-loading {
  position: absolute;
  inset: 0;
  display: none;
  background: linear-gradient(90deg, rgba(0,0,0,.03), rgba(0,0,0,.2), rgba(0,0,0,.03));
  background-size: 200% 100%;
  animation: omtShimmer 1.2s infinite linear;
}

.omt-lightbox.is-loading .omt-lightbox-loading {
    display: block;
}

.omt-lightbox.is-loading .omt-lightbox-img {
    opacity: .25;
}

@keyframes omtShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Caption/meta */
.omt-lightbox-caption {
    font-size: 14px;
    text-align: center;
    color: #222;
}

.omt-lightbox-meta {
    font-size: 12px;
    text-align: center;
    color: #666;
}

/* === MATCH YOUR .rj-carousel BUTTON STYLE === */
.omt-lightbox-close,
.omt-lightbox-prev,
.omt-lightbox-next {
  opacity: 0.9;
  height: 30px;
  width: 30px;
  background: #EAE6E2;
  border-radius: 5px;
  color: #222222;
  border: none;
  cursor: pointer;

  /* mimic swiper icon weight/size */
  font-size: 15px;
  font-weight: 900;
  line-height: 30px;
  text-align: center;

  position: absolute;
  z-index: 2;
}

.omt-lightbox-close:hover,
.omt-lightbox-prev:hover,
.omt-lightbox-next:hover {
  opacity: 1;
  background: #d6cec5;
}

/* Positions (keep simple + usable) */
.omt-lightbox-close {
    top: 10px;
    right: 10px;
}

.omt-lightbox-prev {
    bottom: 19px;
    left: 10px;
    top: unset;
}

.omt-lightbox-next {
    bottom: 19px;
    right: 10px;
    top: unset;
}
