.video-element {
  position: relative;
  width: 100%;
  max-width: 600px;
  overflow: hidden;
}

.video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 ratio */
  cursor: pointer;
}

.video-wrapper .thumb,
.video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.5s ease;
}

.video-wrapper video {
  opacity: 0;
  pointer-events: none;
}
:root{
  --green       : #0e9c55;
  --gap         : 12px;     
  --reveal-time : 0.4s;
  --max-ch      : 32ch;     
}

a.slide-button{
  display:inline-flex;
  flex-direction:row-reverse; /* flecha visualmente a la derecha */
  align-items:center;
  background: #a0c823;
  color:#fff;
  border:none;
  border-radius: 0100px;
  cursor:pointer;
  overflow:hidden;
  gap:0;
  /* tamaÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â±o mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nimo: solo la flecha */
  padding: 8px 20px;
  transition:padding var(--reveal-time) ease;
  text-decoration: none !important;
}

.video-element .content{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.video-element .title{
	color: #ffffff;
	font-size: 1.3rem;
	font-weight: bold;
}
.video-element .button{
    align-items: center;
    display: flex;
    gap: 0.6rem;
    padding: .2rem 1rem;
    background-color: #ffffff;
    color: var(--brown);
    border: 1px solid;
    font-size: .8rem;
    border-radius: 100px;
}

/* --- flecha --- */
.arrow-icon svg{
  display:block;
  width:24px;
  height:24px;
  flex-shrink:0;
  fill: #ffffff;
}

/* --- texto oculto --- */
.slide-text{
  max-width:0;          /* no ocupa espacio */
  opacity:0;
  margin-right:0;
  overflow:hidden;
  white-space:nowrap;
  transition:
    max-width   var(--reveal-time) ease,
    opacity     0.25s              ease 0.15s,
    margin-right var(--reveal-time) ease;
}

/* --- hover / focus-visible --- */
a.slide-button:hover, a.slide-button:focus-visible{
  padding-left:20px;           /* abre espacio a la izquierda */
}
.slide-button:hover .slide-text,
.slide-button:focus-visible .slide-text{
  max-width:var(--max-ch);     /* dale aire suficiente       */
  opacity:1;
  margin-right:var(--gap);     /* separa del icono           */
}





.home-composition{
}
.home-composition img{
	display: block;
}
.home-composition .text{}
.home-composition label{}
.home-composition .title{}


#hc1 img{}
#hc2 img{}

@media (min-width: 992px){
	
	.home-composition > * {
		width: 100%;
		margin-bottom: 1rem;
		
	}
	.home-composition .image-wrap {
		max-width: 250px;
	}
	.home-composition .text{
		text-align: center;
		padding: 2rem 1rem 0.6rem;
		margin: 0;
	}
	.home-composition label{
		font-size: 14px;
	}
	.home-composition .title{
		font-size: 30px;
	}
	
	
	#hc1 img{}
	#hc2{
		padding-inline: 4rem;
	}
	#hc2 img{}
}

#main-home-video{
	margin-bottom: 30px;
}
#main-home-video video{
	width: 100%;
}


 #masonry {
  column-count: 2;
  column-gap: 1rem;
  padding: 1rem;
}

#masonry .item {
  break-inside: avoid;
  margin-bottom: 1rem;
  background: #fff8e9;
  border-radius: 10px;
  overflow: hidden;
  display: block;
  position: relative;
}

#masonry .item img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

#masonry .label {
  padding: 0.5rem;
  font-weight: bold;
  font-size: 0.9rem;
  position: absolute;
  background: none;
  bottom: 0;
  color: #fff;
  font-size: 1.7rem;
}

