/* ----------------------------------------------------------------
	Canvas: CoWorking
-----------------------------------------------------------------*/

.hero-features {
	transform: translateY(-20%);
	padding: 25px;
	border-radius: 6px;
}

.hero-features i {
	font-size: 24px;
	line-height: 1.4;
}

.hero-features h5 {
	font-size: 15px;
	line-height: 1.6;
}

.play-video i {
	position: absolute;
	padding-left: 5px;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	line-height: 81px;
	border-radius: 50%;
	z-index: 1;
	background-color: #333;
	text-align: center;
	font-size: 24px;
	color: #FFF;
	margin-top: -40px;
	margin-left: -40px;
	transition: transform .3s ease-out;
	-webkit-backface-visibility: hidden;
}

.play-video:hover i {
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.fbox-plain.fbox-sm {
	margin-bottom: 40px;
}

.fbox-icon { top: 3px; }

.fbox-plain.fbox-sm h3 {
	text-transform: none;
	font-weight: 600;
	font-size: 1.125rem;
	letter-spacing: 0;
}

#price-carousel .owl-stage {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}

#price-carousel .card{
	border: 5px solid #efdbff;
	border-radius: 30px !important;
}

#price-carousel .card .card-header{
	border-radius: 24px 24px 0 0 !important;
	border: 0px;
}

#price-carousel .card .card-body{
	border-radius: 28px 28px 26px 26px !important;
}

.price-list .card-body { padding: 20px 30px !important; }

.price-list .price-title {
	font-size: 48px;
	font-weight: 600;
	color: var(--themecolor, #a55b3c);
}

.price-list .price-title small {
	position: relative;
	font-size: 16px;
	color: #AAA;
	top: -4px;
	margin-left: 6px;
}

.price-list .list-group-item { border-bottom: 0; }

.card-img-overlay * { position: relative; }

.card-img-overlay::before {
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(4,4,4,.50);
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}

.owl-carousel .owl-dots .owl-dot {
	width: 20px;
	height: 5px;
	border-radius: 4px;
	transition: all .3s ease-out;
	opacity: .3;
}

.owl-carousel .owl-dots .owl-dot.active { width: 45px; }

#price-carousel .owl-item {
	opacity: 0;
	transform: translateY(20px);
	transition: all .4s .1s ease-out;
}

#price-carousel .owl-item.active {
	opacity: 1;
	transform: translateY(0);
}

#image-carousel { overflow: visible; }

#image-carousel .carousel-column {
	display: flex;
	flex-direction: column;
	flex: 1 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
#image-carousel .column-1 { padding-right: 12px; }
#image-carousel .column-2 { padding-left: 12px; }

#image-carousel .carousel-column-container {
	display: flex;
	flex-direction: row;
}

#image-carousel .carousel-grid-item {
	display: flex;
	flex: 1;
	margin: 0;
	padding: 0;
}

#image-carousel .carousel-grid-item .item {
	flex: 1;
	position: relative;
	width: 100%;
	min-height: 150px;
	margin-bottom: 24px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 5px;
	transition: all .2s ease-out;
}

.button:hover,
.top-phone:hover,
#image-carousel .carousel-grid-item:hover a.item {
	box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
	transform: translateY(-3px);
	opacity: .95;
	color: #FFF;
}

#image-carousel .carousel-grid-item .item blockquote { z-index: 1; }

.img-overlay::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	background-color: rgba(190,88,45, 0.8);
}


#locations-carousel .owl-stage-outer { padding-bottom: 40px  }

#locations-carousel .owl-item.active .card {
	opacity: 1;
	transform: translateY(0px);
}

#locations-carousel.owl-carousel .owl-nav [class*=owl-] {
	opacity: 1;
	background-color: #FFF;
	color: var(--themecolor, #267DF4);
}

#locations-carousel.owl-carousel .owl-dots {
	position: relative;
	background: #FFF;
	width: 150px;
	padding: 10px;
	margin: 0 auto;
	bottom: 20px;
	border-radius: 4px;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

#locations-carousel.owl-carousel .owl-dots .owl-dot { margin: 0 4px; }

.entry-content p {
	display: -webkit-box;
	max-width: 100%;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #666;
}

#footer .list-unstyled li a {
	opacity: .7;
	color: #FFF;
	font-weight: 300;
}

ul.list-numbers li {
	list-style: decimal inside;
	margin-bottom: 20px;
}

#locations-carousel .card {
	position: relative;
	right: auto;
	margin: 0 auto;
	bottom: 0;
	margin-top: -30px;
	padding: 20px;
}

.footer-img { margin-top: -90px; }

/* Responsive Device less than 768px (.device-sm <)
-----------------------------------------------------------------*/
@media (max-width: 767.98px) {
	.footer-img { margin-top: 0; }
}

/* Responsive Device more than 992px (.device-md >)
-----------------------------------------------------------------*/
@media (min-width: 992px) {

	.hero-features {
		background: linear-gradient(to right,#20202a,#232526);
		transform: translateY(-50%);
		padding: 35px 30px;
		max-width: 80%;
		
		margin-left: auto;
		border-left: 6px solid rgba(0, 0, 0, 0.1);
		border-top-right-radius: 0px;
		border-bottom-right-radius: 0px;
	}
	
	.sub-menu-container .menu-item > .menu-link {
		padding-left: 20px;
		padding-right: 20px;
	}

	#locations-carousel .card {
		opacity: 0;
		position: absolute;
		right: 40px;
		bottom: -30px;
		padding: 20px 30px;
		width: 100%;
		max-width: 320px;
		border: 0;
		border-radius: 4px;
		transform: translateY(20px);
		transition: all .4s .1s ease-out;
	}

	.heading-block h2 {
		font-size: 42px;
		letter-spacing: -1px;
	}

	#locations-carousel.owl-carousel .owl-dots {
		position: absolute;
		top: auto;
		left: 50%;
		bottom: 45px;
		margin-left: -75px;
	}

}


 /* Design inspirado no shadcn/ui */
  .cdx {
    --bg: hsl(150 30% 7%);
    --card: hsl(151 51% 12%);
    --muted: hsl(210 15% 60%);
    --ring: hsl(151 61% 40%);
    --accent: hsl(222 90% 60%);
    --radius: 16px;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    font-feature-settings: "tnum" 1, "liga" 1, "ss01" 1;
  }

  .cdx-wrap {
    background: linear-gradient(180deg, var(--card), hsl(151 51% 10%));
    border: 1px solid hsl(151 20% 18%);
    color: white;
    border-radius: calc(var(--radius) + 8px);
    padding: 20px;
    display: grid;
    gap: 14px;
    box-shadow:
      0 1px 0 hsl(0 0% 100% / 0.04) inset,
      0 20px 60px hsl(151 70% 4% / 0.35);
  }

  .cdx-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(84px, 1fr));
    gap: 12px;
    align-items: stretch;
  }

  .cdx-item {
    display: grid;
    grid-template-rows: 1fr auto;
    background: linear-gradient(180deg, hsla(135, 90%, 66%, 0.12), hsl(223 90% 50% / .06));
    border: 1px solid hsla(115, 70%, 55%, 0.35);
    border-radius: var(--radius);
    padding: 14px 10px 10px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  /* anel sutil no foco/acessibilidade */
  .cdx-item:focus-within {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
  }

  .cdx-value {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1;
    font-size: clamp(28px, 6vw, 44px);
    /* brilho discreto */
    text-shadow: 0 1px 0 hsl(0 0% 100% / .05);
  }

  .cdx-label {
    margin-top: 8px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 600;
  }

  /* Pílula opcional de “segundos” com cor destacada */
  .cdx-item[data-unit="seconds"] {
    background: linear-gradient(180deg, hsl(151 60% 46% / .25), hsl(151 60% 38% / .15));
    border-color: hsl(151 60% 40% / .55);
  }

  /* responsivo */
  @media (max-width: 520px) {
    .cdx-grid {
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
    }
    .cdx-item { padding: 12px 8px 8px; }
    .cdx-label { font-size: 10px; }
  }