body,html{
	width:100%;
	height:100%;
	padding:0;
	margin:0;
	background: radial-gradient(circle at 30% 30%, #1e90ff 0%, #0077ff 35%, #001f60 80%), radial-gradient(circle at 70% 70%, #0040ff 0%, #001e4d 70%);
	background-blend-mode: screen;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	font-family: 'Montserrat';
	user-select :none;
	color:#fff;
	overflow:hidden;
}

/**********/

body{
	--box-shadow-color:rgba(0, 180, 255, 0.25);
	--box-shadow-btn-color:rgba(0, 180, 255, 0.5);
}
body[bg_custom="true"]{
	--box-shadow-color:rgba(255, 255, 255, 0.25);
	--box-shadow-btn-color:rgba(255, 255, 255, 0.5);
}

.mockup{
	position:relative;
	width:100%;
	height: calc(var(--vh-mockup, 1vh) * 100);
	transition:0.25s;
}

/*****BG*****/
.mockup_bg {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: linear-gradient(135deg, #00122e 0%, #002b70 60%, #0077ff 100%);
  transform:rotate3d(0,0,1,0deg);
}
.mockup_bg_layer_custom {
	position: absolute;
	z-index: 2;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom:0px;
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	opacity:0;
}
body[bg_custom="true"] .mockup_bg_layer_custom{
	display:block;
	animation:1s mockup_bg_custom_show_fx ease-in-out forwards;
}
@keyframes mockup_bg_custom_show_fx {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

/* Capas base: esferas luminosas */
body[bg_custom_fx="true"] .mockup_bg_layer_1,
body[bg_custom_fx="true"] .mockup_bg_layer_2,
body[bg_custom_fx="true"] .mockup_bg_layer_3 {
  position: absolute;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  mix-blend-mode: screen;
  filter: blur(50px);
  opacity: 0.9;
  animation: floatMove 10s ease-in-out infinite alternate;
}

/* Variaciones desktop */
body[bg_custom_fx="true"] .mockup_bg_layer_1 {
  width: 45vmin;
  top: 10%;
  left: 10%;
  background: radial-gradient(circle at center,
			  rgba(0, 160, 255, 0.8) 0%,
			  rgba(0, 100, 255, 0.3) 50%,
			  rgba(0, 40, 120, 0.05) 100%);
  animation-delay: 0s;
}

body[bg_custom_fx="true"] .mockup_bg_layer_2 {
  width: 55vmin;
  bottom: 15%;
  right: 10%;
  background: radial-gradient(circle at center,
			  rgba(0, 190, 255, 0.7) 0%,
			  rgba(0, 120, 255, 0.3) 50%,
			  rgba(0, 40, 120, 0.05) 100%);
  animation-delay: 2s;
}

body[bg_custom_fx="true"] .mockup_bg_layer_3 {
  width: 60vmin;
  top: 30%;
  left: -5%;
  background: radial-gradient(circle at center,
			  rgba(0, 220, 255, 0.6) 0%,
			  rgba(0, 150, 255, 0.2) 60%,
			  rgba(0, 60, 150, 0.05) 100%);
  animation-delay: 4s;
}
/* Movimiento general */
@keyframes floatMove {
  0% {
	transform: translate3d(0%, 0%,0) scale3d(1,1,1);
  }
  50% {
	transform: translate3d(15%, -50%,0) scale3d(1.15,1.15,1.15);
  }
  100% {
	transform: translate3d(-10%, 10%,0) scale3d(0.95,0.95,0.95);
  }
}


/* 🟦 Ajustes específicos para móvil */
@media (max-width: 767px) {
  .mockup_bg_layer_1,
  .mockup_bg_layer_2,
  .mockup_bg_layer_3 {
	width: 120vmin;       /* ¡mucho más grandes! */
	filter: blur(100px);
	opacity: 0.6;
  }

  .mockup_bg_layer_1 {
	top: -10%;
	left: -20%;
  }

  .mockup_bg_layer_2 {
	bottom: -10%;
	right: -25%;
  }

  .mockup_bg_layer_3 {
	top: 30%;
	left: 10%;
  }
}

.mockup_header {
	position: absolute;
	z-index: 1000;
	top: 0px;
	left: 0px;
	right: 0px;
	height: 60px;
	background: #020024;
	background: linear-gradient(0deg, rgba(2, 0, 36, 0.2) 0%, rgba(0, 0, 0, 0.4) 52%, rgba(0, 0, 0, 0.2) 100%);
	box-shadow: 0 0 50px var(--box-shadow-color);
	transition:0.25s;
	transform:translate3d(0,0px,0);
}
body[ready="false"] .mockup_header{
	transform:translate3d(0,-60px,0);
}

.mockup_header_logo{
	position: absolute;
	left:20px;
	top:0px;
	bottom:0px;
	width:100px;
	background-image:url(../img/arkeero.png);
	background-size:100px;
	background-repeat:no-repeat;
	background-position:left center;
}

.mockup_menu_btn{
	position: absolute;
	right:20px;
	top:0px;
	bottom:0px;
	width:30px;
}
.mockup_menu_btn svg{
	position:absolute;
	top:50%;
	right:0px;
	transform:translate3d(0,-50%,0);
	width:30px;
	height:30px;
	stroke:#fff;
	fill:#fff;
	cursor:pointer;
}

.mockup_menu_title{
	position: absolute;
	right:65px;
	top:10px;
	bottom:10px;
	width:auto;
	max-width:calc(100% - 130px);
	background-color:rgba(255,255,255,0.1);
	box-sizing:border-box;
	padding:4px 15px;
	padding-left:70px;
	text-align:center;
	border-radius:5px;
	font-weight:bold;
	font-size:15px;
	line-height:90%;
	text-align:center;
	
	letter-spacing:0.5px;
	overflow:hidden;
	
}
.mockup_menu_title small{
	color:#b0d9ff;
	line-height:16px;
}

.mockup_menu_title_icon{
	position:absolute;
	left:0px;
	top:0px;
	bottom:0px;
	width:50px;
	background-color:rgba(0,0,0,0.2);
	background-size:30px;
	background-repeat:no-repeat;
	background-position:center center;
	transition:0.15s;
}
.mockup_menu_title[device="mobile"] .mockup_menu_title_icon{
	background-image:url(../img/icon_mobile.png);
}
.mockup_menu_title[device="desktop"] .mockup_menu_title_icon{
	background-image:url(../img/icon_desktop.png);
}


.mockup_footer{
	position: absolute;
	z-index: 1000;
	bottom: 0px;
	left: 0px;
	right: 0px;
	height: 40px;
	background: #020024;
	background: linear-gradient(0deg, rgba(2, 0, 36, 0.05) 0%, rgba(0, 0, 0, 0.1) 52%, rgba(0, 0, 0, 0.05) 100%);
	box-shadow: 0 0 50px var(--box-shadow-color);
	
	text-align:center;
	line-height:40px;
	font-size:12px;
	transition:0.25s;
	transform:translate3d(0,0px,0);
}

body[ready="false"] .mockup_footer{
	transform:translate3d(0,40px,0);
}

.mockup_content{
	position: absolute;
	z-index: 1;
	top: 60px;
	bottom: 40px;
	left: 0px;
	right: 0px;
	transition:0.25s;
	width:100%;
	overflow:hidden;
	background: linear-gradient(33deg, rgba(0, 255, 111, 0.2) 0%, rgba(68, 242, 82, 0) 30%, rgba(173, 109, 175, 0) 70%, rgba(113, 0, 115, 0.3) 100%);
	transition:0.25s;
}
body[bg_custom="true"] .mockup_content{
	animation:1s mockup_content_bg_fx ease forwards;
}
@keyframes mockup_content_bg_fx {
	0% {
		background: linear-gradient(33deg, rgba(0, 255, 111, 0.2) 0%, rgba(68, 242, 82, 0) 30%, rgba(173, 109, 175, 0) 70%, rgba(113, 0, 115, 0.3) 100%);
	}
	100% {
		background: linear-gradient(33deg, rgba(0, 255, 111, 0) 0%, rgba(68, 242, 82, 0) 30%, rgba(173, 109, 175, 0) 70%, rgba(113, 0, 115, 0) 100%);
	}
}

body[ready="false"] .mockup_content{
	top: 0px;
	bottom: 0px;
}



.mockup_device{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate3d(-50%,-50%,0);
	background-position:center center;
	background-repeat:no-repeat;
	opacity:0;
}
body[loading="false"][ready="true"][first_ad="true"] .mockup_device{
	animation:0.75s mockup_device_first_fx ease forwards;
}
@keyframes mockup_device_first_fx {
	0% {
		opacity:0;
		filter: blur(10px);
	}
	100% {
		filter: blur(0px);
		opacity:1;
	}
}

@media (min-width: 580px) {
	body[loading="true"][ready="true"][first_ad="false"] .mockup_device{
		animation:0.35s mockup_device_hide_fx ease forwards;
	}
	@keyframes mockup_device_hide_fx {
		0% {
			opacity:1;
		}	
		100% {
			opacity:0;
			transform:translate3d(-50%,-50%,0) scale3d(0,0,0);
		}
	}
}
body[loading="false"][ready="true"][first_ad="false"] .mockup_device{
	animation:0.35s mockup_device_show_fx ease forwards;
}
@keyframes mockup_device_show_fx {
	0% {
		opacity:0;
		transform:translate3d(-50%,-50%,0) scale3d(0,0,0);
	}
	100% {
		opacity:1;
	}
}

.ark_ad_mobile,
.ark_ad_desktop {
  position: relative;
  z-index: 1;
}

.mockup_device_content{
	position: absolute;
	top:0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	overflow:hidden;
	border:2px solid rgba(0,0,0,0.3);
	  backface-visibility: hidden;
	  transform: translate3d(0,0,0);
}
.mockup_content[device="mobile"] .mockup_device{
	width:402px;
	height:778px;
	background-image:url(../img/ark_mobile.png);
}
.mockup_content[device="mobile"] .mockup_device_content {
	top: 14px;
	bottom: 11px;
	left: 13px;
	right: 13px;
	border-radius: 28px;
}
.mockup_content[device="desktop"] .mockup_device{
	width:1332px;
	height:804px;
	background-image:url(../img/ark_desktop.png);
}
.mockup_content[device="desktop"] .mockup_device_content {
	top: 28px;
	bottom: 74px;
	left: 105px;
	right: 105px;
	border-radius: 16px 16px 0px 0px;
}

.mockup_device_content_website{
	position:relative;
	z-index:0;
	width:100%;
	height:100%;
	border:0px;
}
.mockup_tag_preview{
	position: absolute;
	z-index: 1;
	top: 0px;
	bottom:0px;
	left: 0px;
	right: 0px;
	pointer-events:none;
}



.mockup_content_loader {
  position: absolute;
  z-index: 1000;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  transition:0.25s;
   opacity:0;
   pointer-events:none;
}
body[loading="true"] .mockup_content_loader{
	opacity:1;
}

/* Spinner circular */
.loader_spinner {
  width: 120px;
  height: 120px;
  border: 6px solid rgba(0, 180, 255, 0.1);
  border-top: 6px solid rgba(41, 151, 255, 1);
  border-radius: 50%;
  animation: spin 1.2s linear infinite;
  box-shadow: 0 0 25px rgba(41, 151, 255, 0.5);
}
.loader_spinner_logo{
	position:absolute;
	z-index:3;
	width: 120px;
	height: 120px;
	background-image:url(../img/arkeero.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:80px;
	animation: pulseGlowLogo 2s ease-in-out infinite;
}

/* Efecto de brillo interior */
.loader_spinner::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(41, 151, 255, 0.3), transparent 60%);
  filter: blur(4px);
  animation: pulseGlow 2s ease-in-out infinite;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.1); }
}
@keyframes pulseGlowLogo {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.1); }
}


/***/

.mockup_menu{
	position:fixed;
	z-index:1000;
	top:60px;
	bottom:40px;
	right:0px;
	width:100%;
	max-width:300px;
	background-color:rgba(0,0,0,0.3);
	transform:translate3d(100%,0,0);
	transition:0.25s;
	overflow:auto;
	padding:15px;
	box-sizing:border-box;
}
body[menu="true"] .mockup_menu{
	box-shadow: 0 0 50px var(--box-shadow-color);
}


@media (max-width: 580px) {
	.mockup_menu{
		max-width:100%;
	}
	body[menu="true"] .mockup_device{
		display:none;
	}	
}
.mockup_menu hr{
	background-color:#2b2b2b;
	border:1px solid #2b2b2b;
	margin-bottom:15px;
}
.mockup_menu_btn{
	height:60px;
}
.mockup_menu_btn svg{
	width:25px;
	height:25px;
	display:none;
	/*opacity:0;
	transition:0.25s;*/
	
}

body[menu="true"] .mockup_menu_btn svg[data-svg="close"]{
	display:block;
}
body:not([menu="true"]) .mockup_menu_btn svg[data-svg="menu"]{
	display:block;
}

body[menu="true"] .mockup_menu{
	transform:translate3d(0%,0,0);
}

body[menu="true"] .mockup_content{
	width:calc(100% - 300px);
}
@media (max-width: 580px) {
	body[menu="true"] .mockup_content{
		width:100%;
		transform:translate3d(-100%,0,0);
	}
}

.mockup_menu_item{
	position:relative;
	border-radius:10px;
	box-sizing:border-box;
	text-align:left;
	padding:10px;
	padding-left:75px;
	font-weight:bold;
	overflow:hidden;
	background-color:rgba(0,0,0,0.2);
	border:2px solid rgba(0,0,0,0.4);
	margin-bottom:15px;
	cursor:pointer;
	transition:0.15s;
	filter:grayscale(100%) brightness(70%);
	box-shadow: 0 0 10px rgba(0, 180, 255, 0);
	letter-spacing:0.5px;
}
.mockup_menu_item small{
	color:#b0d9ff;
    line-height:16px;
	
}
.mockup_menu_item_icon{
	position:absolute;
	left:0px;
	top:0px;
	bottom:0px;
	width:60px;
	background-color:rgba(0,0,0,0.3);
	background-size:40px;
	background-repeat:no-repeat;
	background-position:center center;
	transition:0.15s;
	filter:brightness(50%);
}
.mockup_menu_item[device="mobile"] .mockup_menu_item_icon{
	background-image:url(../img/icon_mobile.png);
}
.mockup_menu_item[device="desktop"] .mockup_menu_item_icon{
	background-image:url(../img/icon_desktop.png);
}

.mockup_menu_item[selected]{
	filter:grayscale(0%) brightness(100%);
	box-shadow: 0 0 10px var(--box-shadow-btn-color);
}
.mockup_menu_item[selected] .mockup_menu_item_icon{
	background-color:rgba(0,0,0,0.5);
	filter:brightness(100%);
}


