/* IRVT - Lightweight vertical tabs + mobile accordion (v1.1)
   Uses CSS variables set on .irvt-tabs (global styles)
*/
.irvt-tabs{
  direction:rtl;
  width:100%;
  --irvt-icon-size: 18px;

  --irvt-tab-bg: rgba(0,0,0,.03);
  --irvt-tab-txt: inherit;

  --irvt-tab-bgH: rgba(0,0,0,.05);
  --irvt-tab-txtH: var(--irvt-tab-txt);

  --irvt-tab-bgA: rgba(0,0,0,.07);
  --irvt-tab-txtA: var(--irvt-tab-txt);

  --irvt-tab-bgAH: var(--irvt-tab-bgA);
  --irvt-tab-txtAH: var(--irvt-tab-txtA);

  --irvt-content-bg: transparent;
  --irvt-tab-gap: 10px;
  --irvt-tab-brdW: 1px;
  --irvt-tab-brd: rgba(0,0,0,.14);
  --irvt-tab-brdH: rgba(0,0,0,.20);
  --irvt-tab-brdA: rgba(0,0,0,.24);
  --irvt-tab-brdAH: rgba(0,0,0,.28);
  --irvt-indW: 0px;
  --irvt-indC: transparent;
}

.irvt-tabs *{ box-sizing:border-box; }

.irvt-tabs__wrap{
  display:flex;
  align-items:stretch;
  gap:16px;
}

/* Tabs on RIGHT (default): use row-reverse so nav sits on the right in RTL */
.irvt-tabs.irvt--tabs-right .irvt-tabs__wrap{ flex-direction:row-reverse; }
/* Tabs on LEFT: normal row so nav on the left */
.irvt-tabs.irvt--tabs-left .irvt-tabs__wrap{ flex-direction:row; }

/* Navigation */
.irvt-tabs__nav{
  display:flex;
  flex-direction:column;
  gap:var(--irvt-tab-gap);
  min-width:180px;
}

.irvt-tab{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  text-align:right;
  cursor:pointer;

  border: var(--irvt-tab-brdW) solid var(--irvt-tab-brd);
  background:var(--irvt-tab-bg);
  color:var(--irvt-tab-txt);
  outline:none;

  transition: transform 140ms ease, box-shadow 200ms ease, background-color 200ms ease, color 200ms ease;
  will-change: transform;
  position: relative;
}

/* Active indicator bar (one-side) */
.irvt-tab::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width: var(--irvt-indW);
  background: var(--irvt-indC);
  opacity:0;
  transform: scaleY(.92);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events:none;
}
.irvt-tabs.irvt--ind-right .irvt-tab::after{ right:0; }
.irvt-tabs.irvt--ind-left  .irvt-tab::after{ left:0; }
.irvt-tab.is-active::after{ opacity:1; transform: scaleY(1); }


.irvt-tab:hover{
  transform: translateY(-1px);
  background: var(--irvt-tab-bgH);
  color: var(--irvt-tab-txtH);
  border-color: var(--irvt-tab-brdH);
  border-color: var(--irvt-tab-brdH);
}

.irvt-tab.is-active{
  background:var(--irvt-tab-bgA);
  color:var(--irvt-tab-txtA);
  border-color: var(--irvt-tab-brdA);
  }

.irvt-tab.is-active:hover{
  background:var(--irvt-tab-bgAH);
  color:var(--irvt-tab-txtAH);
  border-color: var(--irvt-tab-brdAH);
}

.irvt-tab__icon, .irvt-acc__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.irvt-tab__icon svg, .irvt-acc__icon svg{
  width: var(--irvt-icon-size);
  height: var(--irvt-icon-size);
}

/* Content */
.irvt-tabs__content{
  position:relative;
  flex:1;
  min-width:0;
}

.irvt-panel{
  border:1px solid rgba(0,0,0,.10);
  background:var(--irvt-content-bg);
  overflow:hidden;
}
.irvt-panel[hidden]{ display:none !important; }
.irvt-panel__inner{ padding:16px; }

/* Mobile Accordion */
.irvt-acc{ display:none; }
.irvt-acc__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  text-align:right;
  cursor:pointer;

  border: var(--irvt-tab-brdW) solid var(--irvt-tab-brd);
  background:var(--irvt-tab-bg);
  color:var(--irvt-tab-txt);
  outline:none;

  transition: background-color 200ms ease, color 200ms ease;
}

.irvt-acc__head:hover{
  background: var(--irvt-tab-bgH);
  color: var(--irvt-tab-txtH);
  border-color: var(--irvt-tab-brdH);
  border-color: var(--irvt-tab-brdH);
}

.irvt-acc__item.is-active .irvt-acc__head{
  background: var(--irvt-tab-bgA);
  color: var(--irvt-tab-txtA);
  border-color: var(--irvt-tab-brdA);
}

.irvt-acc__item.is-active .irvt-acc__head:hover{
  background: var(--irvt-tab-bgAH);
  color: var(--irvt-tab-txtAH);
  border-color: var(--irvt-tab-brdAH);
}

.irvt-acc__chev{
  margin-right:auto; /* push to left (RTL) */
  width:10px; height:10px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 200ms ease;
  opacity:.8;
}

.irvt-acc__item.is-active .irvt-acc__chev{ transform: rotate(135deg); }

.irvt-acc__panel{
  overflow:hidden;
  max-height:0px;
  opacity:0;
  transform: translateY(-2px);
  transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease;
  border:1px solid rgba(0,0,0,.10);
  border-top:none;
  background: var(--irvt-content-bg);
}

.irvt-acc__item.is-active .irvt-acc__panel{
  opacity:1;
  transform: translateY(0);
}

.irvt-acc__panelInner{ padding:16px; }

/* Responsive switch */
@media (max-width: 767px){
  .irvt-tabs__wrap{ display:none; }
  .irvt-acc{ display:block; }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .irvt-tab, .irvt-acc__panel, .irvt-acc__chev{ transition:none !important; }
  .irvt-tab:hover{ transform:none; }
}


/* Disable borders globally */
.irvt-tabs.irvt--no-border .irvt-tab,
.irvt-tabs.irvt--no-border .irvt-acc__head{
  border-width: 0 !important;
}
