/* GENERAL CSS  ------------------------------------------------> */


/* Helpers */
.t-justify{ text-align:justify!important;}
.relative{position:relative;}
.fright{float:right;}
.fleft{float:left;}
.aright{text-align:right;}
.aleft{text-align:left;}
.center{text-align:center;}
.clear{width:100%; clear:both;}
.w100{width:100%!important; max-width:100%!important;}
.h100{height:100%;}
.w130{width:130%!important; max-width:130%!important;}
.fullwh{width:100%; height:100%;}
.mar5{margin:5px!important;}
.relative{position:relative!important;}
.no-pad{ padding:0px!important;}
.marri10{
	margin-right:10px;
}
.t-shadow{
	text-shadow: 0px 5px 10px rgba(33,33,3,0.3);
}
.b-shadow{
	box-shadow: 0px 5px 10px rgba(33,33,3,0.3);
}

/* Margins */
.martop5{margin-top:5px;}
.martop10{margin-top:10px;}
.martop15{margin-top:15px;}
.martop30{margin-top:30px!important;}
.martop50{margin-top:50px!important;}
.martop100{margin-top:100px;}
.martopnone{margin-top:0!important;}

.marbot15{margin-bottom:15px;}
.marbot30{margin-bottom:30px;}
.marbot50{margin-bottom:50px!important;}
.marbot100{margin-bottom:100px;}

.marle15{
	margin-left:15px;
}

/* Paddings */
.pad5{padding:5px;}
.pad10{padding:10px!important;}
.pad15{padding:15px;}
.pad30{padding:30px;}
.pad50{padding:50px;}

.padtop30{padding-top:30px;}
.padtop50{padding-top:50px;}
.padtop100{padding-top:100px;}
.padtop250{padding-top:250px!important;}
.padtop0{padding-top:0px!important;}

.padbot30{padding-bottom:30px;}
.padbot50{padding-bottom:50px;}
.padbot100{padding-bottom:100px;}
.padbot250{padding-bottom:250px!important;}

.padri30{padding-right:30px;}
.padri50{padding-right:50px;}

.padle10{padding-left:10px!important}
.padle30{padding-left:30px!important}
.padle50{padding-left:50px;}


/* Functional */
.grayish{font-size:12px; color:gray;}

/* - linkify */
.linkify{color:inherit; cursor:pointer;}
.linkify:hover{text-decoration:underline;}

/* - Hoverfy */
.hoverfy{opacity:0.7; cursor:pointer;}
.hoverfy:hover{opacity:1;}

/* - Grayscalefy */
.grayscalefy{-webkit-filter:grayscale(1); filter:grayscale(1);}
.grayscalefy-h{transition: all .3s ease-in-out;}
.grayscalefy-h:hover{-webkit-filter:grayscale(1); filter:grayscale(1);}

/* - Sepiafy */
.sepiafy{-webkit-filter:sepia(1); filter:sepia(1);}
.sepiafy-h{transition: all .3s ease-in-out;}
.sepiafy-h:hover{-webkit-filter:sepia(1); filter:sepia(1);}

/* - Blurify */
.blurify{-webkit-filter:blur(3px); filter:blur(3px); }
.blurify-h{transition: all .3s ease;}
.blurify-h:hover{-webkit-filter:blur(3px); filter:blur(3px);}

/* - Growify */
.growify {transform:scale(1.1);}
.growify-h{transition: all .2s ease-in-out;}
.growify-h:hover{transform:scale(1.1);}

/* Font sizes */
.f12{font-size:12px!important;}
.f14{font-size:14px!important;}
.f16{font-size:16px!important;}
.f18{font-size:18px!important;}
.f20{font-size:20px!important;}
.f22{font-size:22px!important;}
.f24{font-size:24px!important;}
.f26{font-size:26px!important;}
.f28{font-size:28px!important;}
.f30{font-size:30px!important;}
.f36{font-size:36px!important;}
.f40{font-size:40px!important;}
.f60{font-size:60px!important;}
.f80{font-size:80px!important;}
.f120{font-size:120px!important;}
.f160{font-size:160px!important;}

/* GENERAL ------------------------------------------------> */

.grayish{ font-size:12px; color:gray; margin-top:10px; }
.linkify{ color:inherit; cursor:pointer; }
.linkify:hover{ text-decoration:underline; }
.hoverfy{ opacity:0.7; cursor:pointer; }
.hoverfy:hover{ opacity:1; }
.fright{ float:right; }
.relative{ position:relative; }
.fleft{ float:left; }
.aright{ text-align:right; }
.aleft{ text-align:left; }
.center{ text-align:center; }
.clear{ width:100%; clear:both; }
.pad10{ padding:10px; }
.pad5{ padding:5px!important;}
.w100{ width:100%; }
.nomar{ margin:0!important;}
.f12{ font-size:12px;}
.mt4{margin-top: 4px;}
.nopad{padding:0!important;}
.shortpad{padding-left:5px; padding-right:5px;}
.fullwh{ width:100%; height:100%;}
.h100{height:100%!important;}

.extrapadding{
	padding-top:15px;
}
#logo h1 img{
	height:80px;
}
@media (max-width: 991px) {
	#logo h1 img{
		height:50px!important;
	}
	.verticallogoimg{
		display:none;
	}
}
.main-header .btn-mobile{
	top:25px!important;
}
.ribbon-frozen {
    color: #fff;
    display: inline-block;
    position: absolute;
    top: 25px;
    right: 5px;
    font-weight: 400;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    padding: 5px 10px;
    line-height: 1;
    font-size: 13px;
    z-index: 2;
	width:40px;
}
.ribbon-comingsoon {
    color: #fff;
    display: inline-block;
    position: absolute;
	top: 20px;
	left: -10px;
    font-weight: 400;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    padding: 5px 10px;
    line-height: 1;
    font-size: 13px;
    z-index: 2;
	width:75px;
}
.hours{
	margin-left:33px;
}
.fa-circle .green{
	color:green;
}
.fl-form select.fl-select{
	color:#495057;
}
.hidden{
	display:none;
}
.location-free-title, #location-free-amount{
	font-weight:bold!important;
}
.delivery_fee::before {
  content: none !important;
  display: none !important;
}
.delivery_fee{
	display:inline;
}
.add-options-item-to-cart{
	cursor:pointer;
}
.offerprice{
	margin-left:20px;
	display:inline-block;
}
.strikethrough{
	display:inline-block;
	text-decoration: line-through;
	color:red;
}
.fa.fa-spinner.fa-spin{
	margin-right:10px;
	display:none;
}
.pagination li a.btn{
	margin-right:5px;
	display:inline-block;
}
@media (min-width: 991px) {
	.table-responsive{
		overflow-x:scroll;
		-webkit-overflow-scrolling: touch;
		width: 100%;
		min-height:400px;
	}
	.custom-table > table {
	  min-width: max-content;        /* table can be wider than container */
	}
}
.listaction{
	cursor:pointer;
}
.fixed-loader{
	z-index:99999; background:white; position:fixed; top:0; left:0; right:0; bottom:0; opacity:0.7;
}
.fixed-loader-in{
	position:fixed; left:50%; margin-left:-50px; width:100px; height:100px; top:50%; margin-top:-50px;
}
.fixed-loader-in img{
	width:100%;
}
::placeholder {
  color: #dbdbdb!important;
}
.errormessage{
	color:red;
}
.errorborder{
	border:2px solid red!important;
	border-radius:6px!important;
}
.table-action a[disabled], .table-action span[disabled] {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none; /* prevents clicks */
  text-decoration: none;
}
.table-action a {
	color:var(--crms-dropdown-link-color);
}
/* Small, neat icon-only button */
.btn-icon-ai {
  width: 26px;
  height: 26px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.modal-dialog.modal-dialog-scrollable .modal-content { display:flex; max-height:calc(100vh - 2rem); }
.modal-dialog.modal-dialog-scrollable .modal-body { overflow-y:auto; flex:1 1 auto; }
.modal-dialog.modal-dialog-scrollable .modal-header, .modal-dialog.modal-dialog-scrollable .modal-footer { flex-shrink:0; }
/* Tiers table */
.tiers-table th, .tiers-table td { vertical-align: middle; }
.tiers-table input[type="number"]::-webkit-outer-spin-button,
.tiers-table input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tiers-help { font-size:.85rem; color:#6c757d; }
/* Impersonation floating button */
.impersonation-float {
   position: fixed;
   left: 18px;
   bottom: 18px;
   z-index: 1060; /* above most UI */
   display: flex;
   gap: 10px;
   align-items: center;
}
.impersonation-pill {
   padding: 10px 12px;
   border-radius: 999px;
   box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.badge-outline-default{
    border:1px solid grey;
    color:grey;
}
.progress-bar-success,.progress-bar-danger,.progress{
	display:none;
}
.alert.alert-success, .alert.alert-danger{
	right:auto!important;
}
.offcanvas-body .alert.alert-success, .offcanvas-body .alert.alert-danger{
	left:0;
	right:auto!important;
}

/* Default width */
  #offcanvas_add.offcanvas-resizable {
    --resizable-offcanvas-width: 1100px;
    width: var(--resizable-offcanvas-width);
    max-width: 95vw;
  }

  /* If Bootstrap/offcanvas-large sets width elsewhere, this helps override it */
  #offcanvas_add.offcanvas-end {
    width: var(--resizable-offcanvas-width);
  }

  /* Resize handle */
  #offcanvas_add .offcanvas-resize-handle {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    cursor: ew-resize;
    z-index: 1056;
    background: transparent;
  }

  /* Optional visible edge on hover */
  #offcanvas_add .offcanvas-resize-handle:hover::after,
  #offcanvas_add.resizing .offcanvas-resize-handle::after {
    content: "";
    position: absolute;
    top: 0;
    right: 2px;
    width: 3px;
    height: 100%;
    background: rgba(0,0,0,.12);
    border-radius: 2px;
  }

  /* Prevent ugly text selection while dragging */
  body.offcanvas-is-resizing {
    user-select: none;
    cursor: ew-resize;
  }

  /* Mobile: disable manual resize */
  @media (max-width: 991.98px) {
    #offcanvas_add.offcanvas-resizable {
      width: 100vw !important;
      max-width: 100vw !important;
    }

    #offcanvas_add .offcanvas-resize-handle {
      display: none;
    }
  }


  /* Lightbox overlay */
  #propimg-lightbox{
    position: fixed;
    inset: 0;
    z-index: 2000; /* above bootstrap modal (1055) */
  }
  .propimg-lightbox-backdrop{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.85);
  }
  .propimg-lightbox-inner{
    position: relative;
    height: 100%;
    width: 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 1rem;
    pointer-events: none; /* allow backdrop click except on controls */
  }
  .propimg-lightbox-inner > *{
    pointer-events: auto;
  }
  #propimg-lightbox-img{
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    border-radius: .5rem;
  }
  .propimg-lightbox-close{
    position: absolute;
    top: 12px;
    right: 12px;
  }
  .propimg-lightbox-prev,
  .propimg-lightbox-next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-decoration: none;
    font-size: 3rem;
    line-height: 1;
    opacity: .9;
  }
  .propimg-lightbox-prev{ left: 12px; }
  .propimg-lightbox-next{ right: 12px; }
  .propimg-lightbox-caption{
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    text-align: center;
    color: rgba(255,255,255,.85);
    font-size: .9rem;
    text-shadow: 0 1px 2px rgba(0,0,0,.6);
  }

  /* Make thumbs feel clickable */
  #property-images-grid .property-image-thumb img{
    cursor: zoom-in;
  }
.modalaction:hover{
	cursor:pointer;
}
.yellow{
	color:#d6d602;
}



/* Card polish + click-to-open */
.lead-card { cursor: pointer; user-select: none; transition: transform .12s ease, box-shadow .12s ease; }
.lead-card:hover { transform: translateY(-1px); }
.lead-card:focus { outline: 2px solid rgba(13,110,253,.25); outline-offset: 2px; }
.lead-subline { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.min-w-0 { min-width: 0; }

/* Drag handle */
.js-drag-handle { cursor: grab; }
.ui-sortable-helper .js-drag-handle { cursor: grabbing; }

/* Sortable placeholder */
.kanban-placeholder { height: 72px; border: 1px dashed rgba(0,0,0,.15); border-radius: .5rem; margin-top: .75rem; background: rgba(0,0,0,.02); }

/* Mini edit icon button */
.lead-edit-btn {
	border: 0;
	background: transparent;
	padding: 0;
	line-height: 1;
	color: rgba(33,37,41,.55);
}
.lead-edit-btn:hover { color: rgba(33,37,41,.9); }
.kanban-list-items{
	min-width:400px!important;
}
/* Grab-to-scroll for the horizontal kanban board */
.kanban-board-grab { cursor: grab; }
.kanban-board-grab.is-grabbing {
  cursor: grabbing;
  user-select: none;
}




.dropdown-submenu .submenu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    display: none;
}

.dropdown-submenu.show > .submenu {
    display: block;
}
.sidebar .sidebar-menu > ul > li ul li a i.ti-clock-hour-4{
	background:none;
	color:red;
}
.offcanvas-body{
	padding-bottom:100px!important;
}
.table-responsive{
	min-height:400px!important;
}
