.elementor-kit-37{--e-global-color-primary:#3D00FF;--e-global-color-secondary:#000000;--e-global-color-text:#4B4B4B;--e-global-color-accent:#3D00FF;--e-global-color-304f96b:#FAFAFA;--e-global-color-50b1d48:#FFFFFF;--e-global-color-3fe20a4:#000000;--e-global-color-0d06e87:#FFFFFF00;--e-global-typography-primary-font-family:"PT Serif";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"PT Serif";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Rethink Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.44em;--e-global-typography-accent-font-family:"Rethink Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-bea9ee5-font-family:"Rethink Sans";--e-global-typography-bea9ee5-font-size:16px;--e-global-typography-bea9ee5-font-weight:600;--e-global-typography-bea9ee5-line-height:1em;--e-global-typography-173d3b5-font-family:"Rethink Sans";--e-global-typography-173d3b5-font-size:18px;--e-global-typography-3fb1e7c-font-family:"Rethink Sans";--e-global-typography-3fb1e7c-font-size:20px;--e-global-typography-4d99fdc-font-family:"PT Serif";--e-global-typography-4d99fdc-font-size:100px;--e-global-typography-4d99fdc-font-weight:400;--e-global-typography-4d99fdc-line-height:1.1em;--e-global-typography-455aa43-font-family:"PT Serif";--e-global-typography-455aa43-font-size:22px;--e-global-typography-455aa43-font-weight:700;--e-global-typography-455aa43-line-height:1.36em;--e-global-typography-99c91b2-font-family:"PT Serif";--e-global-typography-99c91b2-font-size:50px;--e-global-typography-99c91b2-font-weight:400;--e-global-typography-99c91b2-line-height:1.1em;--e-global-typography-1105864-font-family:"Rethink Sans";--e-global-typography-1105864-font-size:18px;--e-global-typography-1105864-font-weight:500;--e-global-typography-1105864-text-transform:uppercase;--e-global-typography-1105864-line-height:1.44em;--e-global-typography-1105864-letter-spacing:3px;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-37 e-page-transition{background-color:#FFBC7D;}.elementor-kit-37 p{margin-bottom:1.2em;}.elementor-kit-37 a{color:var( --e-global-color-secondary );}.elementor-kit-37 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-4d99fdc-font-family ), Sans-serif;font-size:var( --e-global-typography-4d99fdc-font-size );font-weight:var( --e-global-typography-4d99fdc-font-weight );line-height:var( --e-global-typography-4d99fdc-line-height );}.elementor-kit-37 h2{color:var( --e-global-color-secondary );font-size:24px;}.elementor-kit-37 h3{color:var( --e-global-color-secondary );font-size:20px;}.elementor-kit-37 h4{color:var( --e-global-color-secondary );font-size:20px;}.elementor-kit-37 h5{color:var( --e-global-color-secondary );font-size:20px;}.elementor-kit-37 h6{color:var( --e-global-color-secondary );font-size:20px;}.elementor-kit-37 input:not([type="button"]):not([type="submit"]),.elementor-kit-37 textarea,.elementor-kit-37 .elementor-field-textual{border-radius:0px 0px 0px 0px;padding:8px 10px 8px 10px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1399px){.elementor-kit-37{--e-global-typography-4d99fdc-font-size:82px;--e-global-typography-99c91b2-font-size:46px;--e-global-typography-1105864-font-size:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}}@media(max-width:1199px){.elementor-kit-37{--e-global-typography-4d99fdc-font-size:62px;--e-global-typography-455aa43-font-size:20px;--e-global-typography-99c91b2-font-size:38px;--e-global-typography-1105864-font-size:20px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-37 h1{font-size:var( --e-global-typography-4d99fdc-font-size );line-height:var( --e-global-typography-4d99fdc-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:960px;}.e-con{--container-max-width:960px;}}@media(max-width:991px){.elementor-kit-37{--e-global-typography-4d99fdc-font-size:42px;--e-global-typography-455aa43-font-size:18px;--e-global-typography-99c91b2-font-size:32px;--e-global-typography-1105864-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:720px;}.e-con{--container-max-width:720px;}}@media(max-width:767px){.elementor-kit-37{--e-global-typography-173d3b5-font-size:16px;--e-global-typography-3fb1e7c-font-size:18px;--e-global-typography-4d99fdc-font-size:28px;--e-global-typography-99c91b2-font-size:24px;--e-global-typography-1105864-font-size:16px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-37 h1{font-size:var( --e-global-typography-4d99fdc-font-size );line-height:var( --e-global-typography-4d99fdc-line-height );}.elementor-kit-37 h2{font-size:22px;}.elementor-kit-37 h3{font-size:18px;}.elementor-kit-37 h4{font-size:18px;}.elementor-kit-37 h5{font-size:18px;}.elementor-kit-37 h6{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:540px;}.e-con{--container-max-width:540px;}}/* Start custom CSS */.btn-absolute,
.btn-absolute .elementor-button {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}
.text-primary {
    color: #3D00FF !important;
}
.text-white {
    color: #ffffff !important;
}
.text-black {
    color: #000000 !important;
}
.__text-smaller {
    font-size: .7em;
}
.__last-p > .elementor-widget-container,
.__last-p > .elementor-widget-container p:last-child {
    margin-bottom: 0 !important;
}
.h-100 {
    height: 100%;
}
.h-100-no-xs{
    height: 100%;
} 

@media(max-width: 767px){
    .h-100-no-xs{
        height: auto;
    }   
}
a.elementor-button.elementor-button-link {
    vertical-align: middle;
}

strong, b {
    font-weight: 700;
}
.__btn-icon svg {
    width: 8px;
    height: 8px;
}
.__btn-icon svg,
.__btn-icon svg path {
    fill: inherit;
}

.__btn-icon-big a {
    text-align: left;
}
.__btn-icon-big svg {
    width: 25px;
    height: 25px;
}

.svg-auto-height  {
    height: 9px;
}
.svg-auto-height svg {
    height: 9px !important;
    line-height: 1px !important;
    transform: translateY(-9px);
}


.__absolute-half-hero {
    top: 0;
    position: absolute;
    left: 0;
    width: 50%;
    height: 100%;
}
.__absolute-half-hero.__right {
    left: auto;
    right: 0;
}

@media (max-width: 767px){
    .__absolute-half-hero.__right.__no-xs {
        position: relative;
        width: 100%;
    }    
}

.__texto-cabecera-tratamiento ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.__texto-cabecera-tratamiento ul li {
    padding-left: 36px;
    position: relative;
    margin-bottom: 12px;
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 300;
}
.__texto-cabecera-tratamiento ul li:before {
    width: 26px;
    height: 24px;
    content: '';
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url('https://www.clinicadentalgonzalezbaquero.es/wp-content/uploads/2024/09/arrow-right-circle-transparent.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}


.__custom-chart .pt-plus-pie_chart.style-2 .pie_chart-style2 {
    text-align: center;
}
.__custom-chart.__2 .pt-plus-pie_chart.style-2 .pie_chart-style2 .progress_bar-title {
    margin-bottom: 10px !important;
    display: block;
    line-height: 1.25em;
}


.elementor-button:hover svg path {
    fill: inherit !important;
}
.elementor-widget.elementor-widget-icon {
    /*display: inherit !important;*/
    /*align-items: center;*/
}
.__flecha.elementor-widget.elementor-widget-icon,
.__flecha.elementor-widget.elementor-widget-icon > .elementor-widget-container,
.__flecha.elementor-widget.elementor-widget-icon > .elementor-widget-container > .elementor-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.elementor-mobile-align-justify a.elementor-button .elementor-button-text {
    flex-grow: 0
}
.elementor-button.elementor-button-link > .elementor-button-content-wrapper {
    align-items: center; 
}
.elementor-button.elementor-button-link > .elementor-button-content-wrapper > .elementor-button-icon {
    display: inline-flex;
}



.__card-hovered {
    
}
.__card-hovered .__top .__title .elementor-heading-title {
    transition: all .45s ease-in-out;
}

.__card-hovered .__bottom {
    
}
.__card-hovered .__bottom .__image {
}
.__card-hovered .__bottom .__texto {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all .45s ease-in-out;
}

.__card-hovered:hover .__top .__title .elementor-heading-title {
    color: #3D00FF;
}

.__card-hovered:hover .__bottom .__texto {
    opacity: 1;
}





.__hover-animated:hover .__read-more-wrapper {
    transform: translateX(8px);
}
.card-member {
    position: relative;
}
.card-member .__info-absolute {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

/*.card-case .__text-info {*/
/*    position: absolute;*/
/*    bottom: 0;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    opacity: 0;*/
/*    transition: opacity .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/
/*.card-case img,*/
/*.card-member img {*/
/*    filter: grayscale(100%);*/
/*    transition: all .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/
/*.card-case:hover .__text-info {*/
/*    opacity: 1;*/
/*    transition: opacity .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/
/*.card-case:hover img {*/
/*    filter: grayscale(0%);*/
/*    transition: all .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/

/*.__card-access {*/
/*    position: relative;*/
/*    overflow: hidden;*/
/*}*/
/*.__card-access .__icon-plus > .elementor-widget-container {*/
/*    cursor: pointer;*/
/*}*/
/*.__card-access .__info-text {*/
/*    opacity: 0;*/
/*    transition: opacity .45s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/
/*.__card-access .__title-card .elementor-heading-title {*/
/*    color: #ffffff !important;*/
    
/*}*/
/*.__card-access .back-image-absolute {*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 0;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    filter: grayscale(100%);*/
/*    transition: all .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*    z-index: 0;*/
/*}*/

/*.__card-access:before {*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 0;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    background-color: #e0e0e0;*/
/*    content: '';*/
/*    transform: translateY(100%);*/
/*    transition: transform .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*    z-index: 1;*/
/*}*/
/*.__card-access:hover {*/
    
/*}*/
/*.__card-access:hover .back-image-absolute {*/
/*    filter: grayscale(0);*/
/*    transition: all .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/

/*.__card-access.__active .__title-card .elementor-heading-title {*/
/*    color: #18181A !important;*/
/*    transition: color .25s cubic-bezier(0.33, 1, 0.68, 1) .45s;*/
/*}*/
/*.__card-access.__active .__info-text {*/
/*    opacity: 1;*/
/*    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1) .3s;*/
/*}*/
/*.__card-access.__active:before {*/
/*    transform: translateY(0);*/
/*    transition: transform .6s cubic-bezier(0.33, 1, 0.68, 1);*/
/*}*/
/*.__card-access:hover .__icon-plus > .elementor-widget-container {*/
/*    background-color: #ffffff !important;*/
/*}*/
/*.__card-access.__active .__icon-plus > .elementor-widget-container {*/
/*    transform: rotateZ(45deg);*/
/*    background-color: #ffffff !important;*/
/*}*/


.__custom-form {
}

.__custom-form .elementor-field-subgroup .elementor-field-option {
	position: relative;	
}
.__custom-form .elementor-field-subgroup .elementor-field-option input {
	opacity: 0; 
	transform: translateY(6px) translateX(6px);
	position: absolute;
	z-index: -1;
}
.__custom-form .elementor-field-subgroup .elementor-field-option label {
    display: block;
	padding-left: 26px;
	font-size: 14px !important;
	line-height: 1.35em;
	position: relative;
	color: #ffffff !important;
	cursor: pointer;
	padding-top: 2px;
}
.__custom-form .elementor-field-subgroup .elementor-field-option label a {
	color: #ffffff;
	text-decoration: underline;
}
.__contact-col .__custom-form .elementor-field-subgroup .elementor-field-option label {
    color: #808080 !important;
}
.__contact-col .__custom-form .elementor-field-subgroup .elementor-field-option label a {
	color: #01B2A9;
}
.__custom-form .elementor-field-subgroup .elementor-field-option label:before {
	display: inline-block;
	content: '';
	width: 18px;
	height: 18px;
	background-color: rgba(255,255,255,1);
	border: solid 1px #FAFAFA;
	border-radius: 0;
	position: absolute;
	left: 0;
	top: 1px;
}
.__custom-form .elementor-field-subgroup .elementor-field-option label:after {
	display: inline-block;
	content: '';
	width: 12px;
	height: 12px;
	background-color: rgba(250,250,250,1);
	border: none;
	border-radius: 0;
	position: absolute;
	left: 3px;
	top: 4px;
	transform: scale(.3);
	opacity: 0;
	transition: all ease-in-out .35s;
}
.__custom-form .elementor-field-subgroup .elementor-field-option input:checked + label:after {
	transform: scale(1);
	opacity: 1;
}
.__custom-form .elementor-field-type-select {
    
    
}
.__custom-form .elementor-field-type-select .select-caret-down-wrapper {
    display: none !important
}
.__custom-form .elementor-field-type-select .elementor-field-textual {
    font-size: 15px;
    color: rgba(24, 24, 26, 0.66) !important;
}

.__custom-form .elementor-field-type-select .elementor-field-textual:invalid,
.__custom-form .elementor-field-type-select .elementor-field-textual option[value=""] {
  color: rgba(24, 24, 26, 0.66) !important;
}
.__custom-form .elementor-field-type-select .elementor-field-textual option:first-child {
    
}
.__custom-form .elementor-field-type-upload .elementor-field {
    border: solid 1px #fafafa;
    background-color: rgba(0,0,0,0);
    color: rgba(250,250,250, .6) !important;
    width: 100%;
}


.__custom-form.__dark .elementor-field-subgroup .elementor-field-option label {
	color: #000000 !important;
}
.__custom-form.__dark .elementor-field-subgroup .elementor-field-option label a {
	color: #3D00FF;
}
.__custom-form.__dark .elementor-field-subgroup .elementor-field-option label:before {
	
	border: solid 1px #000000;
}
.__custom-form .elementor-field-subgroup .elementor-field-option label:after {
	display: inline-block;
	content: '';
	width: 12px;
	height: 12px;
	background-color: rgba(0,0,0,1);
	border: none;
	border-radius: 0;
	position: absolute;
	left: 3px;
	top: 4px;
	transform: scale(.3);
	opacity: 0;
	transition: all ease-in-out .35s;
}


.__content-post {
    
}
.__content-post ul {
    padding: 0;
    margin: 0 0 20px 0;
    list-style: none;
}
.__content-post ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 16px;

}
.__content-post ul li:before {
    position: absolute;
    width: 15px;
    height: 15px;
    left: 0;
    top: 4px;
    content: '';
    background-image: url("https://iomk.es/devel/newfertilitygroup/wp-content/uploads/2025/04/tik-success.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

.__content-post.__xs ul li:before {
    top: 7px;
}


.__content-post img,
.__content-post .ytp-cued-thumbnail-overlay {
    margin: 20px 0;
}
.__content-post h2 {
    font-size: 26px;
    font-weight: 500;
    
   
}
.__content-post h3,
.__content-post h4,
.__content-post h5,
.__content-post h6 {
    font-size: 22px;
    font-weight: 500;
    
}
.__content-post ol {
    list-style-type: lower-roman;
    margin-bottom: 20px;
}


.__content-post ol li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 14px;
}
.__content-post ul li:last-child,
.__content-post ol li:last-child{
    margin-bottom: 0;
}
/*.__content-post p b,*/
/*.__content-post p strong {*/
/*    font-weight: 700;*/
/*}*/

.__blog-content {
    line-height: 1.45em;

}
.__blog-content img {
    margin: 1em 0;
}

.__blog-content h2 {
    font-size: 24px !important;
    line-height: 1.3em !important;
    margin-bottom: .5rem;
    font-weight: 400 !important;
    color: #000000;
}

.__blog-content h3,
.__blog-content h4,
.__blog-content h5,
.__blog-content h6 {
    font-size: 20px !important;
    line-height: 1.3em !important;
    margin-bottom: .5rem;
    font-weight: 400 !important;
    color: #000000;
}

.__blog-content ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    
}
.__blog-content ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 10px;
}
.__blog-content ul li:before {
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background-color: #F3B582;
    display: inline-block;
    content: '';
}

.__blog-content ol {
    list-style-position: inside;
    padding: 0 0 0 20px;
    margin: 0 0 1rem;
    
}
.__blog-content ol li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 10px;
}



.heading {
width: max-content;
display: flex;
flex-direction: column;
}
.heading span {
width: 100%;
white-space: nowrap;
margin: 0;
line-height: 1.15em;
white-space: normal;
max-width: 90vw;
display: inline-block;
}
.heading div {
overflow: hidden;
}

.slide-up {
animation: slide-up 1.1s cubic-bezier(0.65, 0, 0.35, 1) both;
}
.slide-up.fade-in-updos,
.slideupdos {
animation-delay: 300ms;
}
.slide-up.fade-in-uptres,
.slideuptres {
animation-delay: 600ms;
}
.slide-up.fade-in-upcinco,
.slideupcinco {
animation-delay: 900ms;
}
.slide-up.fade-in-upseis,
.slideupseis {
animation-delay: 1200ms;
}
.slideupuno,
.slideupcuatro {
transform: translateY(100px);
}
@keyframes slide-up {
0% {
transform: translateY(100px);
}
100% {
transform: translateY(0);
}
}



/* Estado inicial de lo que entra animado */
.animar > .e-child.dz-fade {
  opacity: 0;
  transform: translateY(24px);
  will-change: transform, opacity;
}

/* Al añadir .slide-up (lo hace tu script), ejecuta la animación */
.animar > .e-child.dz-fade.slide-up {
  animation: fade-in-up 700ms cubic-bezier(0.65, 0, 0.35, 1) both;
}

/* Stagger: 6 hijos con retrasos crecientes */
.animar > .e-child:nth-child(1).dz-fade.slide-up { animation-delay: 0ms; }
.animar > .e-child:nth-child(2).dz-fade.slide-up { animation-delay: 120ms; }
.animar > .e-child:nth-child(3).dz-fade.slide-up { animation-delay: 240ms; }
.animar > .e-child:nth-child(4).dz-fade.slide-up { animation-delay: 360ms; }
.animar > .e-child:nth-child(5).dz-fade.slide-up { animation-delay: 480ms; }
.animar > .e-child:nth-child(6).dz-fade.slide-up { animation-delay: 600ms; }

@keyframes fade-in-up {
  0%   { opacity: 0; transform: translateY(24px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Respeta reduce-motion */
@media (prefers-reduced-motion: reduce) {
  .animar > .e-child.dz-fade { opacity: 1; transform: none; }
  .animar > .e-child.dz-fade.slide-up { animation: none; }
}



/* ===== Base (igual que ya tenías) ===== */
.arrow-grow{
  --arrow-color: #3D00FF;    /* color */
  --arrow-w: 2px;            /* grosor de línea */
  --arrow-duration: 900ms;   /* duración del trazo */
  --arrow-delay: 0ms;        /* retardo */
  --head-size: 12px;         /* lado de la punta (cuadrado) */

  position: relative;
  overflow: visible;
}

/* Capa línea (sustituye al border) */
.arrow-grow::after{
  content:"";
  position:absolute;
  background: var(--arrow-color);
  opacity: 0;
  pointer-events: none;

  /* Valores por defecto (serán sobreescritos por los modificadores) */
  width: var(--arrow-w);
  height: 100%;
  right: 0; top: 0;

  /* animación configurable por variables */
  transform: var(--scale-init, scaleY(0));
  transform-origin: var(--origin, top);
}

/* Al activar .draw: ejecuta la animación adecuada (X o Y) */
.arrow-grow.draw::after{
  animation: var(--anim-name, growY) var(--arrow-duration) cubic-bezier(.65,0,.35,1) var(--arrow-delay) both;
}

/* Keyframes eje Y y eje X */
@keyframes growY { 0% { transform: scaleY(0); opacity:0 } 8% { opacity:1 } 100% { transform: scaleY(1); opacity:1 } }
@keyframes growX { 0% { transform: scaleX(0); opacity:0 } 8% { opacity:1 } 100% { transform: scaleX(1); opacity:1 } }

/* ===== Modos verticales (left / right) ===== */
.arrow--right::after{ right:0; top:0; width:var(--arrow-w); height:100%; }
.arrow--left::after { left:0;  top:0; width:var(--arrow-w); height:100%; }
.arrow--right, .arrow--left{ --anim-name: growY; --scale-init: scaleY(0); }

/* Dirección vertical */
.grow-down{ --origin: top; }
.grow-up  { --origin: bottom; }

/* ===== Modos horizontales (top / bottom) ===== */
.arrow--top::after   { top:0;    left:0; width:100%; height:var(--arrow-w); }
.arrow--bottom::after{ top: auto; bottom:0; left:0; width:100%; height:var(--arrow-w); }
.arrow--top, .arrow--bottom{ --anim-name: growX; --scale-init: scaleX(0); }

/* Dirección horizontal */
.grow-right{ --origin: left; }
.grow-left { --origin: right; }

/* ===== Punta (tú subes el SVG ya orientado) ===== */
.arrowhead{
  position:absolute !important;
  width: var(--head-size);
  height: var(--head-size);
  opacity: 0;
  will-change: transform, opacity, top, bottom, left, right;
  pointer-events:none;

  /* entrada sutil (fade + 10px en contra del sentido) */
  transform: translate(var(--head-tx, 0), var(--head-ty, 0));
}
.arrow-grow.draw .arrowhead{
  animation: headIn 600ms cubic-bezier(.2,.8,.2,1) calc(var(--arrow-delay) + var(--arrow-duration) - 120ms) both;
}
@keyframes headIn{
  0%   { opacity:0; }
  100% { opacity:1; transform: translate(0,0); }
}

/* ===== Colocación de la punta según lado + dirección ===== */
/* Vertical derecha */
.arrow--right.grow-down .arrowhead{ right: calc((var(--arrow-w) - var(--head-size))/2); bottom: 0; top:auto;  --head-ty: -10px; }
.arrow--right.grow-up   .arrowhead{ right: calc((var(--arrow-w) - var(--head-size))/2); top: 0;     bottom:auto; --head-ty: 10px;  }
/* Vertical izquierda */
.arrow--left.grow-down  .arrowhead{ left:  calc((var(--arrow-w) - var(--head-size))/2); bottom: 0; top:auto;  --head-ty: -10px; }
.arrow--left.grow-up    .arrowhead{ left:  calc((var(--arrow-w) - var(--head-size))/2); top: 0;    bottom:auto; --head-ty: 10px;  }

/* Horizontal superior */
.arrow--top.grow-right  .arrowhead{ right: 0; left:auto;  top: calc((var(--arrow-w) - var(--head-size))/2);  bottom:auto; --head-tx: -10px; }
.arrow--top.grow-left   .arrowhead{ left:  0; right:auto; top: calc((var(--arrow-w) - var(--head-size))/2);  bottom:auto; --head-tx: 10px;  }

/* Horizontal inferior */
.arrow--bottom.grow-right .arrowhead{ right: 0; left:auto;  bottom: calc((var(--arrow-w) - var(--head-size))/2); top:auto; --head-tx: -10px; }
.arrow--bottom.grow-left  .arrowhead{ left:  0; right:auto; bottom: calc((var(--arrow-w) - var(--head-size))/2); top:auto; --head-tx: 10px;  }

/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
  .arrow-grow::after{ transform: none !important; opacity:1 !important; }
  .arrowhead{ opacity:1 !important; transform:none !important; }
}/* End custom CSS */