/* TODO EL CSS HEREDA DE LA CLASE .game */
/* ANIMACIONES GENERALES */
.game .game-zoom-in {
  animation: zoomIn 1s ease-out; /* Duración de 0.5 segundos */
  transform-origin: center; /* Define el punto desde el que se hace el zoom */
}
.game .game-zoom-out {
  animation: zoomOut 1s ease-out forwards; /* Duración de 0.5 segundos */
  transform-origin: center; /* Define el punto desde el que se hace el zoom */
}
@keyframes zoomIn {
  0% {
    transform: scale(0); /* Comienza en 0 (invisible) */
    opacity: 0; /* Opcional: inicia completamente transparente */
  }
  100% {
    transform: scale(1); /* Escala al tamaño original */
    opacity: 1; /* Se vuelve visible */
  }
}
@keyframes zoomOut {
  0% {
    transform: scale(1); /* Comienza en 0 (invisible) */
    opacity: 1; /* Opcional: inicia completamente transparente */
  }
  100% {
    transform: scale(0); /* Escala al tamaño original */
    opacity: 0; /* Se vuelve visible */
  }
}

/* BLOQUE GENERAL */
.game {
    display: flex;
    align-items: center;
}
.game .game-text-center {
    text-align: center !important;
}
.game .game-text-left {
    text-align: left !important;
}
.game .game-text-right {
    text-align: right !important;
}
.game .container {
	max-width: 1100px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.game .container .bloque-general {
	text-align: center;
	padding: 20px 12px;
}
.game .container .bloque-general-2 {
	display: none;
	padding: 20px 20px;
}
.game .container .bloque-general-3 {
	display: none;
    padding: 20px 20px;
}
.game .container .bloque-general-4 {
    display: none;
    padding: 20px 20px;
}
.game .container .bloque-general-5 {
    display: none;
    padding: 20px 20px;
}
.game .container .bloque-general-6 {
    display: none;
    padding: 20px 20px;
}
.game .container .bloque-general-7 {
    display: none;
    padding: 20px 20px;
}
.game .container .bloque-general .bloque-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.game .container .bloque-general .bloque-grid img {
	width: 80%;
	cursor: pointer;
}

/* BLOQUE INPUTS TIPO TEXTO */
.game .game-form-group {
    margin-bottom: 15px;
    text-align: left;
}
.game .game-form-group .label-form {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
    width: 100%;
    background: #2e1142;
    padding: 21px 0px;
    text-align: center;
    border-radius: 16px;
    color: white;
}
.game .game-form-group .game-form-control {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 0px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}
.game .game-form-group button {
    box-shadow:inset 0px 1px 0px 0px #2e1142;
    background:linear-gradient(to bottom, #2e1142 5%, #2e1142 100%);
    background-color:#2e1142;
    border-radius:6px;
    border:1px solid #2e1142;
    display:inline-block;
    cursor:pointer;
    color:#fff;
    font-weight:bold;
    padding:12px 24px;
    text-decoration:none;
    text-shadow:0px 1px 0px #2e1142;
}
.game .game-form-group button:hover {
    background:linear-gradient(to bottom, #2e1142 5%, #2e1142 100%);
    background-color:#2e1142;
}

/* BLOQUE INPUTS TIPO RADIO */
.game .control-group {
    margin: 0 auto;
}
.game .control {
    display: block;
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    padding-top: 2px;
    cursor: pointer;
    font-size: 16px;
}
.game .control input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.game .control_indicator {
    position: absolute;
    top: 2px;
    left: 0;
    height: 20px;
    width: 20px;
    background: #e6e6e6;
    border: 0px solid #000000;
    border-radius: undefinedpx;
}
.game .control:hover input ~ .control_indicator,
.game .control input:focus ~ .control_indicator {
    background: #cccccc;
}

.game .control input:checked ~ .control_indicator {
    background: #2e1142;
}
.game .control:hover input:not([disabled]):checked ~ .control_indicator,
.game .control input:checked:focus ~ .control_indicator {
    background: #0e6647d;
}
.game .control input:disabled ~ .control_indicator {
    background: #e6e6e6;
    opacity: 0.6;
    pointer-events: none;
}
.game .control_indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}
.game .control input:checked ~ .control_indicator:after {
    display: block;
}
.game .control-radio .control_indicator {
    border-radius: 50%;
}
.game .control-radio .control_indicator:after {
    left: 7px;
    top: 7px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background: #ffffff;
    transition: background 250ms;
}
.game .control-radio input:disabled ~ .control_indicator:after {
    background: #7b7b7b;
}
.game .control-radio .control_indicator::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 4.5rem;
    height: 4.5rem;
    margin-left: -1.3rem;
    margin-top: -1.3rem;
    background: #2e1142;
    border-radius: 3rem;
    opacity: 0.6;
    z-index: 99999;
    transform: scale(0);
}
@keyframes s-ripple {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    20% {
        transform: scale(1);
    }
    100% {
        opacity: 0.01;
        transform: scale(1);
    }
}
@keyframes s-ripple-dup {
   0% {
       transform: scale(0);
    }
   30% {
        transform: scale(1);
    }
    60% {
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}
.game .control-radio input + .control_indicator::before {
    animation: s-ripple 250ms ease-out;
}
.game .control-radio input:checked + .control_indicator::before {
    animation-name: s-ripple-dup;
}

/* BLOQUE DE SELECCIÓN DE CARTAS */
.game .container .bloque-general .bloque-grid .game-carta {
    width: 60%;
    cursor: pointer;
}
.game .container .bloque-general .bloque-grid .game-carta-1, .game .container .bloque-general .bloque-grid .game-carta-9 {
    rotate: -30deg;
}
.game .container .bloque-general .bloque-grid .game-carta-3, .game .container .bloque-general .bloque-grid .game-carta-7 {
    rotate: 30deg;
}
.game .container .bloque-general .bloque-grid .game-carta-4, .game .container .bloque-general .bloque-grid .game-carta-5 {
    rotate: 90deg;
}
.game .container .bloque-general .bloque-grid .game-carta-6 {
    rotate: -90deg;
}
.game .container .bloque-general .bloque-grid .game-carta-res {
    width: 60%;
}
@media (max-width: 767px){
    .game .container .bloque-general .bloque-grid .game-carta {
        width: 90%;
        cursor: pointer;
    }
    .game .container .bloque-general .bloque-grid .game-carta-res {
        width: 90%;
    }
}

/* BLOQUE DE DECLARACION PRIVACIDAD BREVO */
.game small {
    color: gray;
}
.game .container .bloque-general .bloque-grid-declaration {
    display: grid;
    grid-template-columns: 1fr 4fr;
}


/* BLOQUE DE RESULTADO DEL ENVIO */
.game .game-bloque-tarotista {
    max-width: 140px;
    width: 100%;
    margin: 0 auto;
}
.game .game-tarotista {
    max-width: 140px;
    width: 100%;
    margin-bottom: -4px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.game .game-nombre-tarotista {
    background: white;
    color: black;
    max-width: 140px;
    width: 100%;
    margin: 0 auto;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding-top: 4px;
    padding-bottom: 4px;
}
.game a {
    text-decoration: none;
}

/* MODAL DE ERRORES */
.game .modal-mask-error {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 150ms ease-in;
    -moz-transition: opacity 150ms ease-in;
    transition: opacity 150ms ease-in;
    pointer-events: none;
}
.game .modal-mask-error-ver {
    opacity:1;
    pointer-events: auto;
}
.game .modal-box-error{
    max-width: 600px;
    width: 92%;
    position: fixed;
    padding: 5px 20px 13px 20px;
    background: #fff;
    border-radius:3px;
    top: 4%; 
    left: 50%; 
    transform: translate(-50%, 0%)
}
.game .movedown-error {
    margin: 0 auto;
}
.game .modal-mask-error:target .movedown-error{       
    margin:10% auto;
}
.game .close-error {
    background: #2e1142;
    color: #FFFFFF;
    line-height: 25px;
    text-align: center;
    top: 1px;
    width: 100%;
    text-decoration: none;
    font-weight: bold;
    border-radius:3px;
    border: 0;
    padding: 8px;
    color: var(--color-soft-black);
}
.game .close-error:hover {
    background: #2e1142;
    color:#FFFFFF;
}
.game .cuerpo-modal-error {
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: 12px;
    color: var(--color-soft-black);
}
.game .titulo-modal-error {
    text-align: center;
    padding-top: 14px;
    padding-bottom: 14px;
    margin: 0 !important;
    font-family: 'Bree Serif' !important;
    font-size: 20px;
    color: var(--color-soft-black);
}
.game .contenido-modal {
    margin: 0 !important;
    padding-top: 12px;
    padding-bottom: 12px;
}

.game .iti {
    display: block;
}