﻿/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
    box-sizing: border-box;
}
/*
    2. Remove default margin
  */
* {
    margin: 0;
}
/*
    Typographic tweaks!
    3. Add accessible line-height
    4. Improve text rendering
  */
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    width: 70vw;
    margin: 0 auto;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 2rem 0 1rem;
    background-color: var(--white);
    font-family: var(--ff-base);

}
/*
    5. Improve media defaults
  */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}
/*
    6. Remove built-in form typography styles
  */
input, button, textarea, select {
    font: inherit;
}
/*
    7. Avoid text overflows
  */
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}
/*
    8. Create a root stacking context
  */
:root {
    --white: #ffffff;
    --true-black: #000000;
    --principal-blue: rgb(0, 105, 255);
    --secondary-blue: #8ed1fc;
    --light-grey: rgb(238, 238, 238);
    --true-light-grey: rgb(245, 245, 245);
    --dark-grey: rgb(169, 184, 195);
    --fw-regular: 500;
    --fw-bold: 700;
    --ff-accent: "Fraunces", serif;
    --ff-base: "Montserrat", sans-serif;
}
html, body {
    -webkit-overflow-scrolling: touch;
}

html {
    background-color: var(--light-grey);
}

label:is([data-css="mandatory"])::after {
    content: "*";
    color: red;
}
.buttons-container {
    display: flex;
    align-items: center;
    justify-content:center;
    gap: .5rem;
    width: 100%;
    margin-top:1rem;
    
}

    .buttons-container button,
    #submit {
        display: flex;
        gap: .5rem;
        height:3.15rem;
        width:40%;
        border: none;
        border-radius: .5rem;
        align-items: center;
        background-color:var(--principal-blue);
        color:var(--white);
        justify-content: center;
        transition: all .6s ease;
        position: relative;
    }


.buttons-container button i,
#submit i {
    transition: all 0.3s ease;
}

    .buttons-container button:hover,
    #submit:hover {
        cursor: pointer;
        color: transparent;
    }

        .buttons-container button:hover i {
            position: absolute;
            animation: moveLeftRight 2s infinite;
            color: #000;
        }

        #submit:hover i {
            position: absolute;
            animation: moveLeftRight 2s infinite;
            color: var(--white);
        }

@keyframes moveLeftRight {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.5);
    }
}
input {
    border: none;
    background-color: var(--true-light-grey);
    border-radius: .5rem;
    height: 2.5rem;
}

header {
    width: 100%;
    height: 11rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
    place-content: center;
}

.left_Container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.center_Container {
}

.text_Container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    gap: .5rem;
}
    .text_Container > h3 {
        font-size:1.5rem;
    }

    .right_Container {
        display: flex;
        align-items: center;
        justify-content: center;
    }

main {
    width: 100%;
    height: auto;
    margin-top: .5rem;
    padding: 2rem 0;
}

.inner_Div {
    width: 100%;
    gap: 1rem;
    display: flex;
    align-items: center;
    padding-bottom: .5rem;
    margin-bottom: .5rem;
    border-bottom: 1px solid #ccc;
    position: relative;
    transition: height 0.3s ease;
}
    .inner_Div > label {
        flex: 0 0 auto;
        margin-right:.5rem;
    }
    .inner_Div > input {
        flex:1;
        padding:.5rem
    }
    .inner_Div .hidden,
    .inner_Flex-group .hidden{
        position: absolute; /* Position absolutely within the container */
        bottom: 15px; /* Position just below the container */
        right: 10px;
        color: red;
        display: none;
    }
    .inner_Div.show-span .hidden,
    .inner_Flex-group.show-span .hidden {
        display: block; /* Show the span when condition is met */
    }
.all_Text {
    padding: 1rem 0;
}

.payment > h2 {
    margin-bottom: 1rem;
}

.flex-group {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .5rem
}

    .flex-group div {
        width: 50%;
    }

.inner_Flex-group {
    width: 100%;
    gap: .2rem;
    display: flex;
    align-items: center;
    padding-bottom: .5rem;
    margin-bottom: .5rem;
    border-bottom: 1px solid #ccc;
    position:relative;
}


    .inner_Flex-group > label {
        flex: 0 0 auto;
        margin-right: .5rem;
    }

    .inner_Flex-group > input {
        flex: 1;
        padding: .5rem
    }


#authorize {
    font-weight: 700;
}

ul {
    padding-top: 1rem;
}

    ul > li,
    ul > div {
        margin-bottom: .5rem;
    }

.random_check {
    width: 100%;
    display: flex;
    gap: .5rem;
    align-items: center;
    justify-content: center;
    padding-bottom: .5rem;
    margin-bottom: .5rem;
    border-bottom: 1px solid #ccc;
}

.extra_Container {
    width: 100%;
    display: grid;
    grid-template-columns: 80% 10% 10%;
}

    .extra_Container > div {
        display: flex;
        gap: 1rem;
        align-items: center;
    }

.more_text {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: start;
    justify-content: center;
    margin-top: 1rem;
}

footer {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    padding: 2rem 0;
    gap: .5rem;
}


.inputs_Container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    position:relative;
}
.close {
    position: absolute;
    top: -10px;
    right: 65px;
     visibility:hidden;
    color: red;
}
.no-scroll {
    overflow: hidden;
    touch-action: none; /* Prevent touch actions */
}



    .inputs_Container > input {
        width: 100%;
    }

#last {
    text-align: center;
}
#signature {
    height:8rem;
    background-color: var(--light-grey);
    border-radius:.5rem;
}

/*Loading*/

#loading-screen {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
}

    #loading-screen ul {
        display: flex;
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

        #loading-screen ul > .dot {
            height: 15px;
            width: 15px;
            background-color: #ccc;
            border-radius: 50%;
            margin-left: 1rem;
            float: left;
            list-style-type: none;
        }

    #loading-screen li:nth-child(1) {
        animation: scale 1s linear infinite;
    }

    #loading-screen li:nth-child(2) {
        animation: scale 1s linear 0.2s infinite;
    }

    #loading-screen li:nth-child(3) {
        animation: scale 1s linear 0.4s infinite;
    }

@keyframes scale {
    25% {
        scale: 1.5;
    }
}
/*Message*/
/*Mensajes*/

.messageContainer {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
}

.popup {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 400px;
    background-color: #fff;
    border-radius: 6px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-50%) scale(0.1);
    text-align: center;
    padding: 0 30px 30px;
    color: #333;
    visibility: hidden;
    transition: transform 0.4s, top 0.4s;
    z-index: 999;
}

.popup-check {
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
    align-items: center;
    width: 50vw;
    height: 90vh;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: #fff;
    border-radius: 6px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-50%) scale(0.1);
    text-align: center;
    padding: 10px 30px 30px;
    color: #333;
    visibility: hidden;
    transition: transform 0.4s, top 0.4s;
    z-index: 999;
}

.open-popup {
    visibility: visible;
    top: 50%;
    transform: translate(-50%,-50%) scale(1);
}

.popup img,
.popup-check img {
    width: 100px;
    margin-top: -50px;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.popup h2 {
    font-size: 38px;
    font-weight: 500;
    margin: 30px 0 10px;
}

.flex-check {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    gap: 1rem;
}

    .popup button,
    .flex-check button {
        width: 100%;
        margin-top: 50px;
        padding: 10px 0;
        background: rgb(0, 105, 255);
        border: 0;
        outline: none;
        font-size: 18px;
        border-radius: 4px;
        cursor: pointer;
        color: #fff;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
        transition: ease 1s;
    }

        .popup button:hover,
        .flex-check button:hover {
            background-color: white;
            color: rgb(0, 105, 255);
            transition: ease 1s;
        }

@media (min-width: 320px) and (max-width: 475px) {
    body {
        display: block;
        width: 100vw;
        padding: .5rem;
    }

    .center_Container {
        display: none;
    }

    header {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    main {
        display: block;
    }
    .payment {
        display: flex;
        flex-direction:column;
    }
    .inner_Div,
    .flex-group,
    .inner_Flex-group{
        flex-direction:column;
        gap:.5rem;
    }

    #card, #password, #name, #amount, #email, #phone, #address, #champion, #person_name {
        width: 100%;
    }

    .inner_Flex-group > input,
    .flex-group > div{
        width:100%;
    }

    .payment > h2 {
     margin:0 auto;
    }

    ul {
        list-style: none;
        padding: 1rem 0;
    }
    .extra_Container {
        grid-template-columns: 60% 20% 20%;
    }

    footer {
        grid-template-rows: repeat(3, 1fr);
        grid-template-columns: inherit;
    }
}

@media (min-width: 834px) and (max-width: 1194px) {

    body {
        display: block;
        width: 100vw;
        padding: .5rem;
    }
}