
/* ====================================
   Limo Short Utility v3.0 – تمام کلاس‌ها با نقطه
   ==================================== */

/* ==================== Reset & Base ==================== */
.r_   { list-style: none; padding: 0; margin: 0 }
.r_ li { list-style: none; margin: 0; padding: 0 }
.lk_  { text-decoration: none; color: inherit; transition: all .3s }
.cl_  { content: ''; display: table; clear: both }
.hb_  { margin: 0; padding: 0; font-weight: inherit; line-height: 1.3 }

/* ==================== Flex ==================== */
.f_   { display: flex }
.dif  { display: inline-flex }
.fr_  { flex-direction: row }
.fc_  { flex-direction: column }
.fw_  { flex-wrap: wrap }
.fn_  { flex-wrap: nowrap }
.cc_  { align-items: center; justify-content: center }
.bb_  { align-items: center; justify-content: space-between }
.aa_  { align-items: center; justify-content: space-around }
.ss_  { align-items: center; justify-content: flex-start }
.ee_  { align-items: center; justify-content: flex-end }
.st_  { align-items: stretch }
.gp1_ { gap: 8px }
.gp2_ { gap: 12px }
.gp3_ { gap: 16px }
.gp4_ { gap: 24px }
.dl{directtion:ltr}
.dr{directtion:rtl}
/* ==================== Grid ==================== */
.gr_  { display: grid}
.gr2_ { grid-template-columns: repeat(2, 1fr) }
.gr3_ { grid-template-columns: repeat(3, 1fr) }
.gra_ { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) }

/* ==================== Text & Align ==================== */
.tl_  { text-align: left }
.tc_  { text-align: center }
.tr_  { text-align: right }
.tj_  { text-align: justify }
.vt_  { vertical-align: top }
.vm_  { vertical-align: middle }
.vb_  { vertical-align: bottom }
.as_  { align-self: flex-start }
.ac_  { align-self: center }
.ae_  { align-self: flex-end }
.ax_  { align-self: stretch }

/* ==================== Spacing ==================== */
.z_   { margin: 0; padding: 0 }
.m0_  { margin: 0 }
.p0_  { padding: 0 }
.m1_  { margin: 8px }
.m2_  { margin: 12px }
.m3_  { margin: 16px }
.m4_  { margin: 24px }
.p1_  { padding: 8px }
.p2_  { padding: 12px }
.p3_  { padding: 16px }
.p4_  { padding: 24px }
.mt1_ { margin-top: 8px }
.mt2_ { margin-top: 16px }
.mt3_ { margin-top: 24px }
.mt4_ { margin-top: 32px }
.mb1_ { margin-bottom: 8px }
.mb2_ { margin-bottom: 16px }
.mb3_ { margin-bottom: 24px }
.mb4_ { margin-bottom: 32px }
.ml1_ { margin-left: 8px }
.ml2_ { margin-left: 16px }
.ml3_ { margin-left: 24px }
.mr1_ { margin-right: 8px }
.mr2_ { margin-right: 16px }
.mr3_ { margin-right: 24px }

/* ==================== Display & Sizing ==================== */
.db_  { display: block }
.dib_ { display: inline-block }
.di_  { display: inline }
.dn_  { display: none }
.dv_  { display: var(--d, flex) }
.dfa  { flex: 0 0 auto }
.dfa1  { flex: 1  }
.w_   { width: 100% }
.h_   { height: 100%  !important}
.mw_  { max-width: 100% }
.mh_  { max-height: 100% }
.mnh_ { min-height: 1.4em }
.a_   { width: auto; height: auto }
.wih_ {width: inherit;}
.wfc_ {width: fit-content;}

/* ==================== Overflow & Scroll ==================== */
.oh_  { overflow: hidden }
.ov_  { overflow: visible }
.oa_  { overflow: auto }
.os_  { overflow: scroll }
.sm_  { scroll-behavior: smooth }
.txo {text-overflow: ellipsis}

/* ==================== Cursor ==================== */
.pt_  { cursor: pointer }
.wa_  { cursor: wait }
.no_  { cursor: not-allowed }

/* ==================== Image ==================== */
.im_  { max-width: 100%; height: auto; display: block; object-fit: cover }
.imc_ { object-fit: contain }

/* ==================== Shadow ==================== */
.sh0_ { box-shadow: none }
.sh1_ { box-shadow: 0 2px 8px rgba(0,0,0,.08) }
.sh2_ { box-shadow: 0 4px 16px rgba(0,0,0,.1) }
.sh3_ { box-shadow: 0 8px 24px rgba(0,0,0,.12) }
.sh4_ { box-shadow: 0 12px 32px rgba(0,0,0,.15) }

/* ==================== Radius ==================== */
.r4_  { border-radius: 4px }
.r8_  { border-radius: 8px }
.r12_ { border-radius: 12px }
.r16_ { border-radius: 16px }
.r24_ { border-radius: 24px }
.r50_ { border-radius: 50% }

/* ==================== Typography ==================== */
.b_   { font-weight: 700 }
.nr_  { font-weight: 400 }
.tsm_ { font-size: 0.875rem }
.tmd_ { font-size: 1rem }
.tlg_ { font-size: 1.125rem }
.txl_ { font-size: 1.25rem }
.t2x_ { font-size: 1.5rem }
.t3x_ { font-size: 1.6rem }
.lh1_ { line-height: 1 }
.lh13_{ line-height: 1.3 }
.lh15_{ line-height: 1.5 }
.lh16_{ line-height: 1.6 }
.ts1_ { text-shadow: 0 1px 3px rgba(0,0,0,.18) }
.ts2_ { text-shadow: 0 3px 15px rgba(0,0,0,.4) }
.ts3_ { text-shadow: 0 6px 24px rgba(0,0,0,.45) }
.tsn_ { text-shadow: none }

/* ==================== Transition & Transform ==================== */
.td_  { transition: all 0.3s ease }
.trf_ { transition: all 0.15s ease }
.trs_ { transition: all 0.5s ease }
.li_  { transform: translateY(-8px) }
.scl_ { transform: scale(1.05) }

/* ==================== Background ==================== */
.b0_  { background: transparent }
.b1_  { background: #fff }
.b2_  { background: #f8f9fa }
.bn_  { background-repeat: no-repeat }
.br_  { background-repeat: repeat }
.bx_  { background-repeat: repeat-x }
.by_  { background-repeat: repeat-y }
.bk_  { background-size: contain }
.cv_  { background-size: cover }
.ba_  { background-size: auto }
.ct_  { background-position: center }
.tp_  { background-position: top }
.bt_  { background-position: bottom }
.lt_  { background-position: left }
.rt_  { background-position: right }
.fx_  { background-attachment: fixed }
.sc_  { background-attachment: scroll }

/* ==================== Misc ==================== */
.fnn_ { filter: none }
.anp_ { animation-play-state: running }
.ans_ { animation-play-state: paused }
.zi2_  { z-index: 2 }
.zi10_ { z-index: 10 }
.zi100_{ z-index: 100 }
.psr_  { position: relative }
.psa_  { position: absolute }
.cff   { color: #fff }
.c00   { color: #000 }
.wsn   { white-space: nowrap }
.op0   { opacity: 0 }
.op1   { opacity: 1 }
.iis   { inset-inline-start: 0 }
.tp50  { top: 50% }
.try   { transform: translateY(-50%) }
.aic_  { align-items: center }
.mnh45_{ min-height: 45px }
.peau { pointer-events: auto; }
.peni { pointer-events: none; }
.zi1  { z-index: 1; }
.fls0 {  flex-shrink:0;}

.bsbb_ { box-sizing:border-box }
.wcl_  { will-change:left }
.g0_   { gap:0 }
.wn_   { white-space:normal }
.ha_   { height:auto }
.ast_  { align-items:stretch }
.ab_   { align-items:baseline }   
.in0_  { inset:0 }   
.lhi_  { line-height:inherit }    
.ci_   { color:inherit }   
.dih_  { display:inherit } 

.fpsi{	font-size: var(--e-global-typography-primary-font-size, 1.05em);}
.fpwe{	font-weight: var(--e-global-typography-primary-font-weight, 700);}
.fpfa{	font-family: var(--e-global-typography-primary-font-family, inherit);}

.fafs{	font-size: var(--e-global-typography-accent-font-size, 0.875em);}
.faff{	font-family: var(--e-global-typography-accent-font-family, inherit);}
.fawf{	font-weight: var(--e-global-typography-accent-font-weight, 600);}
/* Elementor Text */
.ftfs{font-size:var(--e-global-typography-text-font-size,.9em);}
.ftff{font-family:var(--e-global-typography-text-font-family,inherit);}
.ftco{color:var(--e-global-color-text,inherit);}

/* Elementor Colors */
.fcpr{color:var(--e-global-color-primary,inherit);}
.fcac{color:var(--e-global-color-accent,inherit);}
  /* --- ویجت تپایان Limo Short Utility v--- */

