@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/Sansation-Light.ttf") format("truetype");
}

@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/Sansation-Light.ttf") format("truetype");
}

@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Sansation-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/Sansation-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/Sansation-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/Sansation-Bold.ttf") format("truetype");
}

@font-face {
    font-family: "Sansation";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/Sansation-Bold.ttf") format("truetype");
}

@font-face {
    font-family: "Material Icons";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../fonts/MaterialIcons-Regular.ttf");
    src: local("Material Icons"), local("MaterialIcons-Regular"),
        url("../fonts/MaterialIcons-Regular.ttf") format("opentype");
}

@font-face {
    font-family: "Material Icons Round";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../fonts/MaterialIconsRound-Regular.otf");
    src: local("Material Icons Round"), local("MaterialIcons-Round"),
        url("../fonts/MaterialIconsRound-Regular.otf") format("truetype");
}

@font-face {
    font-family: "Material Icons Outlined";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../fonts/MaterialIconsOutlined-Regular.otf");
    src: local("Material Icons Outlined"), local("MaterialIcons-Outline"),
        url("../fonts/MaterialIconsOutlined-Regular.otf") format("opentype");
}

@font-face {
    font-family: text-security-disc;
    src: url("../fonts/text-security-disc.woff");
}

html {
    font-size: 62.5%;
    box-sizing: border-box;
    height: 100%;
}

/*Estilos del loader*/
.phi-loading {
    overflow: hidden;
    display: flex;
    position: fixed;
    justify-content: center;
    align-items: center;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
}

.phi-loading img {
    height: 100px;
}

.phi-loading .backdrop {
    background-color: #fff;
    opacity: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    z-index: -10;
}

body.dark .phi-loading .backdrop {
    transition: 100ms;
    background-color: #0b1124;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

a:hover {
    cursor: pointer;
}

body {
    font-family: 'Roboto';
    font-size: 1.6rem;
    background-image: url('https://static.pchujoy.com/public/img/subscriptions/bgl-subform.png');
    background-size: cover;
    background-color: #ffac05;
    background-position: top center;
    background-repeat: no-repeat;
    min-height: 100%;
    position: relative;
    display: flex;
}

html {
    background-color: #ffac05;
}

html.plans-view {
    background-color: #f3f3f3;
}

body.plans-view,
body.landing-code-view {
    background-image: url('https://static.pchujoy.com/public/img/subscriptions/bgl-plans.png');
    background-color: #f3f3f3;
    background-position: center center;
    background-repeat: no-repeat;
}

h1,
h2 {
    font-family: 'Sansation';
    font-weight: 900;
    line-height: 1.2;
}

h1 {
    font-size: 4.8rem;
}

h2 {
    font-size: 5.8rem;
}

h3 {
    font-weight: 400;
    font-size: 5rem;
}



img {
    max-width: 100%;
    display: block;
}

.content {
    margin: 0 auto;
    padding: 8rem .5rem;
    max-width: 120rem;
    min-height: 100%;
    width: 100%;
}

@media (min-width: 992px) {
    .content {
        padding: 3rem 0;
    }
}

.google-auth {
    cursor: pointer;
    filter: opacity(0);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.btn-action-back {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 18px;
    background-color: #FFFF;
    top: 15px;
    left: 15px;
    padding: 6px 14px;
    gap: 6px;
    width: 219px;
    color: black;
    text-decoration: none;
}

.btn-action-back:hover {
    color: black;
}

/* CARD */
.subscription-card {
    padding: 20px;
    width: 95%;
    max-width: 435px;
    background-color: #FFFF;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    gap: 1.5rem;
}

.subscription-card--login {
    padding: 20px;
}

@media (min-width: 768px) {
    .subscription-card--login {
        padding: 40px;
    }
}

.subscription-card--plan {
    max-width: 30.5rem;
    padding: 36px 40px;
}


.subscription-card--fancy {
    position: relative;
    border: 1px solid #73F;
    box-shadow: 0px 16px 24px 0px rgba(132, 137, 161, 0.25);
}

/* CARD HEADER */
.subscription-card__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.subscription-card__header__description {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.subscription-card__heading {
    font-size: 20px;
}

.subscription-benefits {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 14px;
    width: 100%;
}

.benefit {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 13px;
}

.subscription-card__text {
    line-height: 20px;
}

.subscription-card-image {
    border-radius: 50%;
}

/* CARD BODY */
.subscription-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

/* FORM */
.subscription-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.subscription-form__label {
    font-weight: bold;
}

.subscription-form__field {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.subscription-form__field--row {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: .8rem;
}

.subscription-form__input {
    position: relative;
}

.icon {
    position: absolute;
    left: 5px;
    top: 0;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-right {
    position: absolute;
    right: 10px;
    top: 0;
    height: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
}

.subscription-form__control {
    padding: 10px;
    padding-left: 30px;
    border-radius: 5px;
    outline: 1px solid #9e9e9e;
    border: unset;
}


.subscription-form__control--noicon {
    padding-left: 0;
    padding: 15px;
}

.subscription-form__control:focus {
    outline: 2.5px solid #6000eb;
}

.subscription-form__control--checkbox {
    accent-color: black;
    color: white;
}

.subscription-form__anchor {
    color: #0034ee;
}


/* CARD FOOTER */
.subscription-card__footer {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.divider__line {
    background-color: black;
}

.subscribe-button {
    border-radius: 18px;
    padding: 6px 14px;
    border: none;
    color: #FFFF;
    font-size: 14px;
    font-weight: 700;
}


.subscribe-button--gradient {
    background-image: linear-gradient(270deg, #73F 0%, #2738F5 100%);
}

.subscribe-button--normal {
    position: relative;
    border: 1px solid black;
    background-color: transparent;
    color: black;
}

.subscribe-button--gift {
    max-width: 300px;
    width: 100%;
    background-color: transparent;
    border: 2px solid black;
    color: black;
}

.subscribe-button--yellow svg * {
    stroke: black;
}

/* PLANS */
.plans {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 90%;
    max-width: 92rem;
}

.plans__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.plans__header svg {
    display: none;
}

.header-divider {
    display: block;
    background-color: #CDC4FB;
    height: 4px !important;
    width: 48px;
}

@media (min-width: 768px) {
    .plans__header {
        flex-direction: row;
        gap: 2.4rem;
    }

    .plans__header svg {
        display: block;
    }

    .header-divider {
        display: none;
    }
}


@media (min-width: 992px) {
    .plans__header {
        margin: 0 auto;
        max-width: 700px;
    }
}


.heading-wrapper {
    padding: 0 30px;
}

@media (min-width: 768px) {
    .heading-wrapper {
        padding: 0;
    }
}

.badge-pricing {
    position: absolute;
    top: 0;
    right: 30px;
}

.plans-heading {
    font-size: 1.8rem;
    text-align: center;
}

.plans-header__info {
    font-size: 1.3rem;
    text-align: center;
}

@media (min-width: 768px) {
    .plans-heading {
        text-align: right;
    }

    .plans-header__info {
        text-align: left;
    }
}

@media (min-width: 992px) {
    .plans-heading {
        font-size: 2.4rem;
    }

    .plans-header__info {
        font-size: 1.5rem;
    }

}

.gradient-text {
    color: transparent;
    background: linear-gradient(270deg, #73F 0%, #2738F5 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.plans__body {
    display: flex;
    flex-direction: column;
    gap: 3.7rem;
}

.plans__list {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    justify-content: center;
    gap: 3.7rem;
}

@media (min-width: 768px) {
    .plans__list {
        flex-direction: row;
    }
}

.pricing {
    text-align: center;
    font-family: 'Sansation';
}

.pricing__price {
    font-size: 3.6rem;
    font-weight: 900;
}

.plans__footer {
    font-size: 10px;
}


/* GIFT CODE */
.form-container {
    max-width: 47rem;
    background-color: white;
    padding: 20px;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    width: 90%;
    font-size: 13px;
}

@media (min-width: 768px) {
    .form-container {
        padding: 36px 48px;
    }
}

.form-container h1 {
    font-size: 2rem;
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .form-container h1 {
        font-size: 2.8rem;
    }
}


.gift-code__form {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    border-radius: 18px;
    width: 100%;
}

.gift-code__buttons {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .gift-code__buttons {
        flex-direction: row-reverse;
        justify-content: center;

        gap: 2.4rem;
    }
}

.subscribe-button--dark {
    background-color: black;
    color: white;
}


.elipse-icon {
    margin: 0 auto;
    width: 68px;
    height: 68px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFC939;
    border-radius: 50%;
}

.heading-form {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.heading-form__text {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.heading-form__text p {
    max-width: 100%;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .heading-form__text p {
        max-width: 80%;
    }
}


.select-doc .mdc-list-item--selected {
    background: linear-gradient(90deg, #2738F5 0%, #641BFF 100%) !important;
    color: white !important;
}

.mdc-list-item {
    padding: 10px !important;
}

.select-doc * {
    border: unset !important;
}

@media (min-width: 768px) {
    .subscription-card--normal {
        transform: scale(0.94);
    }
}


.warning-text {
    color: black;
}

/* MODAL STYLES */
#modal-error .modal-content,
#modal-warning .modal-content {
    background-color: #f3f3f3;
    color: black;
}

.mdl-close svg * {
    stroke: black;
}

.anchor:hover {
    color: white;
}

.flatpickr-day.selected,
.flatpickr-day:hover {
    color: #fff;
    background-color: #2738f5 !important;
    border: 1px solid #0034EE !important;
}

.flatpickr-day.today:hover {
    color: #fff !important;
}

/* DARK THEME STYLES */

body.dark .warning-text {
    color: #FFFF;
}

body.dark #modal-error .modal-content,
body.dark #modal-warning .modal-content {
    background-color: #2C3145;
    color: #FFFF;
}

body.dark .mdl-close svg * {
    stroke: white;
}

html.dark {
    background-color: #0b1124;
}

body.dark {
    background-color: #0b1124;
    background-image: url('https://static.pchujoy.com/public/img/subscriptions/bgd-subform.png');

}

body.dark.plans-view,
body.dark.landing-code-view {
    background-image: url('https://static.pchujoy.com/public/img/subscriptions/bgd-plans.png');
}



/* CARD */

body.dark .subscription-card--register .subscription-card__text {
    color: #FFFF;
}


body.dark .subscription-card--register .subscribe-button--normal {
    background-color: transparent;
    border: 1px solid #FFFF;
}

body.dark .subscription-card--register .divider {
    color: #FFFF;
}

body.dark .subscription-card--register .icon svg * {
    stroke: black;
}

body.dark .subscription-card {
    background-color: #2C3145;
}

body.dark .plans__list .subscription-card {
    background-color: #FFC939;
    color: black !important;
}


body.dark .subscription-form__control--noicon {
    background-color: #141b31;
    color: white;
}

body.dark .subscription-card__body {
    color: #FFFF;
}

body.dark .subscription-card--normal .subscription-card__body {
    color: black;
}

/* CARD HEADER */
body.dark .subscription-card__heading {
    color: #DCE1FC;
}

body.dark .subscription-card--normal .subscription-card__heading {
    color: black;
}

body.dark .subscription-card--normal .pricing__price,
body.dark .subscription-card--normal .pricing__desc {
    color: black;
}

/* CARD BODY */
/* FORM */
body.dark .subscription-form__anchor {
    color: #FFC939;
}

body.dark .subscription-form__control--checkbox {
    accent-color: #7733FF;
    outline: unset;
}

/* CARD FOOTER */
body.dark .divider__line {
    background-color: #FFFF;
}

body.dark .subscribe-button--normal {
    border-color: #FFFF;
    color: #FFFF;
}

/* PLANS */
body.dark .plans__header {
    color: #FFFF;
}

body.dark .gradient-text {
    color: #FFC939;
    background: unset;
}

body.dark .pricing__desc {
    color: #8374F9;
}

body.dark .subscription-card--fancy {
    border: unset;
    background: linear-gradient(270deg, #73F 0%, #2738F5 100%);
}

body.dark .subscription-card--fancy .pricing__desc {
    color: #FFFF;
}

body.dark .subscription-card--fancy .subscribe-button {
    background: #ffff;
    color: black;
}

body.dark .subscription-card--fancy .subscribe-button svg * {
    stroke: black;
}

body.dark .form-container .subscribe-button--outlined {
    color: white;
    background-color: unset;
}

body.dark .subscribe-button {
    background-color: #0034EE;
    border: unset;
}

body.dark .subscribe-button svg * {
    stroke: #FFFF;
}

body.dark .subscription-card--fancy .subscription-card__body svg * {
    stroke: #FFFF;
}

body.dark .subscription-card__body svg * {
    stroke: #73F;
}

body.dark .icon-right svg * {
    stroke: #000;
}

body.dark .subscription-card--fancy .benefit svg * {
    stroke: #FFC939;
}

body.dark .subscription-card--normal .benefit svg * {
    stroke: black;
}

body.dark .benefit svg * {
    stroke: #FFFF;
}


body.dark .plans__footer {
    color: #FFFF;
}

body.dark .form-container h1 {
    color: white;
}

body.dark .subscribe-button--gift {
    border-color: white;
    color: white;
}

body.dark .gift-code__form {
    color: white;
}

body.dark .form-container {
    background-color: #2C3145;
    color: white;
}

body.dark .gift-code-heading {
    color: white;
    width: 350px;
    margin: 15px auto;
    border: unset;
    border-radius: 18px;
    padding: 12px 14px;
    font-size: 16px;
    font-weight: 700;
    background-color: var(--bs-gray-700);
}

.mdc-select--outlined .mdc-select__anchor .mdc-select__selected-text::before {
    content: " " !important;
}


/* RENEWAL */

.subscription-date-end {
    background-color: #FFC939;
    color: black;
    border-radius: 15px;
    padding: 15px;
    font-size: 15px;
}


.error {
    word-wrap: anywhere;
    font-size: 13.5px;
}
