:root {
    --blue: #3490dc;
    --indigo: #6574cd;
    --purple: #9561e2;
    --pink: #f66d9b;
    --red: #e3342f;
    --orange: #f6993f;
    --yellow: #ffed4a;
    --green: #38c172;
    --teal: #4dc0b5;
    --cyan: #6cb2eb;
    --white: #f0ebe6;
    --gray: #5f5c5a;
    --gray-light: #a3a3a3;
    --gray-dark: #6c6d7a;
    --black: #303030;
    --primary: #072da0;
    --secondary: #ff916e;
    --tertiary: #5ed1ca;
    --success: #38c172;
    --info: #6cb2eb;
    --warning: #ffed4a;
    --danger: #e3342f;
    --light: #f8f9fa;
    --dark: #343a40;
}

* {
    font-family: "Instrument Sans", sans-serif;
    font-weight: 400 !important;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: "Instrument Serif", sans-serif;
}

::-webkit-scrollbar {
    width: 0.65rem;
    height: 0.65rem;
}

::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 0.625rem;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
}

::-webkit-scrollbar-track {
    background: #eaeaea;
    border-radius: 0.625rem;
}

html,
body {
    /* background-color: var(--white); */
    background-color: #fbf7f4;
    height: 100% !important;
    min-height: 100% !important;
}

body.swal2-height-auto {
    height: 100% !important;
}

h4 {
    font-size: 1.375rem !important;
}

p {
    text-align: justify !important;
}

input:not([type="checkbox"], [type="range"]),
select {
    height: 3.5rem !important;
    width: 100%;
    padding: 0.75rem 1.125rem;
    border: 1px solid var(--gray);
    border-radius: 10rem;
    background-color: #fbf7f4;
    line-height: 1.5rem !important;
}

select {
    background-color: var(--white);
}

input:focus:not([type="range"]),
select:focus {
    height: 3.5rem !important;
    border: 0.1rem solid var(--black) !important;
    padding: 0.75rem 1.125rem;
    color: var(--black) !important;
    outline: none !important;
    line-height: 1.5rem !important;
}

select,
select:focus {
    height: 3.5rem !important;
    border: 0 !important;
}

.input:focus-within label:not(.radio-label):not(.radio-label-selected),
input::placeholder {
    /* color: #afafaf !important; */
    color: var(--black);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="radio"] {
    width: auto;
}

input[type="checkbox"] {
    width: default !important;
    border: 1px solid red;
}

label {
    font-family: "Instrument Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 500 !important;
    color: var(--gray);
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: "";
}

textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--gray);
    border-radius: 1.25rem;
    background-color: var(--white);
    max-height: 20.75rem;
    resize: none;
}

textarea:focus {
    border: 0.1rem solid var(--black) !important;
    padding: 0.75rem 1rem;
    color: var(--black) !important;
    outline: none !important;
}

a,
a:hover {
    font-size: 0.875rem;
    color: var(--gray);
    text-decoration: none;
    font-weight: 500 !important;
}

i {
    user-select: none;
}

.error {
    color: var(--red);
}

.main-button-lg,
.main-button-lg:hover {
    color: white !important;
    background-color: var(--primary);
    padding: 0.75rem 3.125rem;
    border-radius: 10rem;
    font-size: 1rem;
    cursor: pointer;
}

.secondary-button {
    display: flex;
    color: var(--black);
    padding: 0.45rem 1.25rem;
    border: 1.2px solid var(--black);
    border-radius: 10rem;
    max-height: 2.5rem;
    cursor: pointer;
}

.secondary-button span {
    color: var(--black);
    font-weight: 500 !important;
    padding-top: 0.125rem;
    cursor: pointer;
}

.secondary-button i {
    color: var(--black);
}

.fw-400 {
    font-weight: 400 !important;
}

.fw-500 {
    font-weight: 500 !important;
}

.bg-white {
    background-color: var(--white) !important;
}

.primary {
    color: var(--primary);
}

.secondary {
    color: var(--secondary);
}

.white {
    color: var(--white);
}

.black {
    color: var(--black);
}

.gray {
    color: var(--gray);
}

.light-gray {
    color: var(--gray-light);
}

.rainbow {
    font-family: "Instrument Sans", sans-serif;
    background: linear-gradient(to right, #4365df, #ff916a) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 500 !important;
}

.cursor {
    cursor: pointer;
}

.hidden {
    display: none !important;
}

.main-button {
    display: flex;
    padding: 1rem;
    width: fit-content;
    color: white;
    background-color: var(--primary);
    border-radius: 100rem;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.875rem;
}

.white-hover:hover {
    color: white !important;
}

.button {
    display: flex;
    padding: 1rem;
    width: fit-content;
    color: white;
    background-color: #afafaf;
    border-radius: 100rem;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.875rem;
}

.header-selected {
    color: var(--primary);
}

.clamp-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
}

.one-line {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}

/** LOGIN **/

.half-screen {
    /* min-height: 96.6vh !important; */
    /* width: 40.5vw; */
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.show-password {
    position: absolute;
    margin-top: 1rem;
    right: 10.25rem;
    color: var(--gray);
    cursor: pointer;
}

/** REGISTER **/

.register-img {
    height: 21.125rem;
    width: 22.75rem;
    border-radius: 1.25rem;
    background-size: cover;
    background-position: center;
}

.upload-profile-img {
    height: 12.51rem;
    width: 12.51rem;
    border-radius: 1rem;
    background-size: cover;
    background-position: center;
    background-color: #eae4df;
    cursor: pointer;
}

.upload-profile-text {
    font-size: 0.96rem;
    color: var(--gray);
}

.social-network-register {
    height: 1.5rem;
    position: absolute;
    right: 51vw;
    margin-top: 1.75rem;
    transform: translateY(-50%);
    pointer-events: none;
}

/** HEADER **/

.header-img {
    height: 4.375rem;
    cursor: pointer;
}

.alerts {
    padding: 0.5rem 1rem;
    width: 8rem;
    color: white;
    background-color: rgba(175, 175, 175, 0.8);
    border-radius: 100rem;
    transition: width 0.5s ease;
    cursor: pointer;
}

.alerts.expanded {
    width: 23.229vw;
}

.notification-dot {
    position: absolute;
    top: 0.1rem;
    right: 0.25rem;
    width: 0.375rem;
    height: 0.375rem;
    background-color: #ff916e;
    border-radius: 50%;
    z-index: 2;
}

#alerts-div {
    display: none;
    width: 23.229vw;
    max-height: 0;
    overflow-y: auto;
    background-color: rgba(175, 175, 175, 0.8);
    border-radius: 1.25rem;
    margin-top: 0.1rem;
    transition: max-height 0.5s ease;
    position: absolute;
    right: 3.75rem;
    z-index: 999;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

#alerts-div::-webkit-scrollbar {
    display: none;
}

#alerts-div.show {
    display: block;
    max-height: 21rem;
}

.alerts-div-content {
    position: relative;
    z-index: 1;
    color: white;
}

.alert-city {
    font-size: 0.875rem !important;
    margin-bottom: 0.5rem !important;
}

.alert-category {
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
}

/** HOME **/

.description-home {
    font-family: "Instrument Sans", sans-serif;
    font-weight: 400 !important;
    line-height: 3.25rem;
}

.explore {
    padding: 0.5rem 1rem;
    width: fit-content;
    color: white;
    background-color: #afafaf;
    border-radius: 100rem;
    cursor: pointer;
}

.carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.carousel-track {
    display: flex;
    width: calc(300px * 32);
    animation: scroll 100s linear infinite;
}

.carousel img {
    width: 20.5875rem !important;
    height: 30.0375 !important;
    border-radius: 1rem;
    object-fit: cover;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.carousel-track::after {
    content: "";
    display: block;
    position: absolute;
    width: 300px;
    background: none;
}

.arrow-btn {
    background-color: #7a7a7a;
    border-radius: 10rem;
    padding: 0.6rem;
    font-size: 1.25rem;
}

.home-banner {
    width: 100%;
    min-height: 15.75rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.scroll-x {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    cursor: grab;

    display: inline-block;
    width: fit-content !important;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.scroll-x::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

.draggable {
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.home-promotion {
    min-width: 20.35rem;
    max-width: 20.35rem;
    height: 24.04rem;
    border-radius: 1.25rem;
    object-fit: cover;
}

.footer {
    background-color: var(--white);
    padding-left: 4.5rem !important;
}

/** SERVICES **/

.select-div {
    position: relative;
    display: inline-block;
}

.select-arrow {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--gray);
}

.select-arrow-register {
    position: relative;
    /* right: 2rem;
    top: 50%; */
    float: right;
    right: 1.5rem;
    bottom: 1.75rem;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--gray);
}

.slider-supplier-img {
    height: 7rem;
    width: 13.125rem;
    border-radius: 0.625rem;
    object-fit: cover;
}

.search-service-img {
    height: 15.875rem;
    width: 100%;
    /* width: 26.625rem; */
    object-fit: cover;
    background-position: center;
    border-radius: 0.938rem;
}

.service-supplier-img {
    height: 2rem;
    width: 2rem;
    object-fit: cover;
    border-radius: 100rem;
}

.search-service-footer {
    padding: 0.813rem 0;
    border-bottom: 1px solid var(--black);
}

.search-service-category {
    display: inline-block;
    white-space: nowrap;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 100rem;
    font-weight: 500 !important;
    color: white;
    background-color: #afafaf;
}

.search-promotion {
    height: 36.25rem;
    border-radius: 0.9rem;
    /* width: auto; */
    background-size: cover;
    background-position: center;
}

.search-promotion-video {
    height: 36.25rem !important;
    border-radius: 0.9rem !important;
    width: 100% !important;
    object-fit: cover !important;
}

.filter-map {
    height: 10.25rem;
    width: 100% !important;
    border-radius: 0.625rem;
    object-fit: cover;
    object-position: center;
}

.minimap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.view-map {
    background-color: #ffffff;
    color: var(--black);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0.5rem 0.75rem;
    font-weight: 500 !important;
    white-space: nowrap;
    max-width: 80%;
    text-align: center;
}

@media (max-width: 768px) {
    .view-map {
        font-size: 0.875rem;
        padding: 0.4rem 1rem;
    }
}
.direction-selected{
    background-color: rgb(221, 221, 221);
    width: fit-content;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    padding: .5rem 0.5rem .5rem 1rem ;

    border-radius: 1rem;

    gap: 0.5rem;

    display: none;
}
/** MAP **/

.custom-marker {
    height: 1.875rem;
    width: 1.875rem;
    border: 1px solid white;
    background-color: var(--gray);
    border-radius: 100rem;
}

.custom-marker-focus {
    height: 1.875rem;
    width: 1.875rem;
    border: 1px solid white;
    background-color: var(--primary);
    border-radius: 100rem;
    z-index: 999;
}

.service-info-container {
    position: absolute !important;
    top: 15.875rem !important;
    left: 1.875rem !important;
    z-index: 1000 !important;
    background: #fbf7f4 !important;
    padding: 1rem !important;
    border-radius: 0.625rem !important;
    box-shadow: 0 2px 0.625rem rgba(0, 0, 0, 0.1) !important;
    display: none;
    width: 34.75rem !important;
}

.gm-style .gmnoprint,
.gm-style .gm-style-cc {
    display: none !important;
}

/** SERVICE **/

.service-img {
    border-radius: 1.25rem;
    height: 56.875rem;
    width: 100%;
    object-fit: cover;
    background-position: center;
    margin-bottom: 1.125rem;
}

.service-img-create {
    display: flex;
    align-items: center; /* Centra verticalmente */
    justify-content: center; /* Centra horizontalmente */
    position: relative; /* Mantiene la estructura */
    border-radius: 1.25rem;
    height: 50.75rem;
    width: 100%;
    background-size: cover !important;

    background-position: center;
    margin-bottom: 1.125rem;
    background-color: var(--white);
    cursor: pointer;
}

.service-title {
    font-size: 3.2rem;
}

.supplier-img {
    height: 3.125rem;
    width: 3.125rem;
    object-fit: cover;
    border-radius: 100rem;
}

.supplier-name {
    font-size: 1.375rem;
    padding-top: 0.25rem;
}

.service-description {
    font-size: 1.3rem;
}

.service-price {
    font-family: "Instrument Serif" !important;
    font-size: 3rem;
}

.border-bot {
    border-bottom: 1px solid black;
}

.icon-text {
    display: flex;
    align-items: center;
}

.service-info {
    padding: 1.875rem 0;
    font-size: 1.275rem;
    align-items: center;
}

.address {
    text-decoration: underline;
    cursor: pointer;
}

span.address.one-line {
    /* IMPORTANTE: necesita un ancho (o max-width) adecuado */
    max-width: 22.5vw; /* Ajusta según tu diseño */

    display: inline-block; /* o block, pero NO flex */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    text-decoration: underline;
    cursor: pointer;
}

.service-category {
    background: linear-gradient(to right, #4365df, #ff916a) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 500 !important;
}

.gradient-box {
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    background: #fbf7f4;
    background-clip: padding-box;
    border: solid 1px transparent;
    border-radius: 100rem;
}

.gradient-box:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin: -2px;
    border-radius: inherit;
    background: linear-gradient(to right, #4365df, #ff916a) !important;
}

.service-subcategory {
    background-color: var(--white);
    color: var(--gray);
    border-radius: 100rem;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 500 !important;
}

.favorite-btn {
    background-color: var(--white);
    color: var(--gray);
    border-radius: 100rem;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 500 !important;
}

.rating-btn {
    background: linear-gradient(to right, #4365df, #ff916a) !important;
    background: white;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 500 !important;
}

.scrollable-y {
    position: -webkit-sticky !important;
    position: sticky !important;
    overflow-y: auto;
    top: 1rem;
    height: 100vh;
}

.scrollable-y::-webkit-scrollbar {
    display: none;
}

.service-price-input {
    position: relative;
}

.service-price-icon {
    position: absolute;
    left: 1rem;
    top: 3.75rem;
    transform: translateY(-50%);
    height: 1.5rem;
    pointer-events: none;
    color: var(--gray);
}

.service-price-input input,
.service-price-input input:focus {
    padding-left: 3rem;
    width: 100%;
}

.secondary-btn,
.secondary-btn:hover {
    border: solid 1px var(--primary);
    border-radius: 100rem;
    color: var(--primary);
    font-weight: 500 !important;
    padding: 0.625rem 1rem;
    cursor: pointer;
    width: fit-content !important;
}

.edit-btn {
    background-color: var(--white);
    border-radius: 100rem !important;
    color: var(--black);
    font-weight: 500 !important;
    padding: 0.625rem 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: auto !important;
}

#image-name {
    flex-grow: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.edit-btn .change-button {
    flex-shrink: 0;
    padding: 0.5rem 1.3rem;
    background-color: #5f5c5a;
    color: white;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 100rem !important;
}

.subcategory-tooltip {
    position: relative;
    cursor: pointer;
}

.tooltip-content {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 120%;
    left: 40%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 8px;
    border-radius: 6px;
    white-space: nowrap;
    font-size: 14px;
    transition: opacity 0.3s, visibility 0.3s;
    text-align: left;
}

.tooltip-content-detail {
    width: 10rem;
    max-width: 10rem;
    white-space: normal;
    word-wrap: break-word;
}

/* Ajuste si el tooltip está muy cerca del borde izquierdo o derecho */
@media (max-width: 600px) {
    .tooltip-content {
        left: auto;
        right: 0;
        transform: none;
    }
}

.subcategory-tooltip:hover .tooltip-content {
    visibility: visible;
    opacity: 1;
}

/** RATINGS **/

.offcanvas-title {
    font-size: 4rem;
}

.review-user-name {
    font-size: 1.375rem;
}

/** RATE **/

/* .stars {
    display: flex;
    justify-content: center;
    margin: 1rem 0;
}

.star {
    cursor: pointer;
    margin-right: 5px;
    color: #e5ded8;
    font-size: 4rem;
}

.star.selected,
.star.hover {
    color: var(--secondary) !important;
}

.star .inline-icon {
    font-size: inherit;
}

.star:not(.selected):not(.hover) .inline-icon {
    color: #e5ded8 !important;
} */

.stars {
    display: flex;
    justify-content: center;
    margin: 1rem 0;
}

.star {
    cursor: pointer;
    margin-right: 5px;
    color: #e5ded8;
    font-size: 4rem;
}

.star .inline-icon {
    font-size: inherit;
}

.star-outline {
    color: #e5ded8;
}

/* Cuando está activo (hover o click) se vuelve del color secundario */
.inline-icon.active {
    color: var(--secondary);
}

/** SUPPLIER **/

.profile-supplier-info {
    background-color: var(--white);
    border-radius: 1.25rem;
    padding: 0.5rem !important;
}

.profile-supplier-img {
    height: 21.375rem;
    width: 21.375rem;
    border-radius: 1.25rem;
    object-fit: cover;
    object-position: center;
}

.supplier-btn {
    cursor: pointer;
    width: fit-content;
    padding-left: 1.375rem;
    background-color: #fbf7f4;
    border-radius: 100rem;
    font-weight: 500 !important;
}

.supplier-btn i {
    background-color: var(--white);
    padding: 0.5rem;
    border-radius: 100rem;
    margin: 0.313rem 0.313rem 0.313rem 1.188rem;
}

.contact-info {
    font-size: 1rem;
    font-weight: 500 !important;
}

.contact-info-data,
.contact-info-data:hover {
    font-size: 1rem;
    text-decoration: underline;
    font-weight: 400 !important;
    cursor: pointer;
    color: #212529 !important;
}

/** SUPPLIER REWARDS **/

.supplier-reward {
    max-width: 100%; /* Se asegura de que no sobrepase el ancho del col-md */
    overflow-wrap: break-word; /* Asegura que las palabras largas se dividan */
    word-break: break-word; /* Rompe palabras largas */
    text-align: left; /* Ajusta el alineado del texto si es necesario */
    background-color: var(--white);
    border-radius: 1.875rem;
    padding: 1.875rem;
    padding-top: 11rem;
    min-height: 43.52rem;
}

.supplier-reward img {
    position: absolute;
    top: 16rem;
}

.disabled {
    user-select: none;
    pointer-events: none;
    opacity: 0.5;
}

/** CONTACT **/

.contact-us {
    font-weight: 400;
    font-family: "Instrument Serif", sans-serif;
    background: linear-gradient(to right, #4365df, #ff916a) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-style: italic;
}

.contact-label {
    font-size: 3rem;
    margin-right: auto;
}

.contact-input {
    background-color: #fbf7f4 !important;
    width: 73.375vw !important;
}

.contact-input::placeholder {
    color: #afafaf !important;
}

select.contact-input {
    border: 1px solid var(--gray) !important;
    border-radius: 10rem !important;
}

select.contact-input:focus {
    border: 0.1rem solid var(--black) !important;
}

/** PROFILE **/

.profile-info {
    background-color: var(--white);
    border-radius: 1.875rem;
}

.profile-info img {
    height: 21.688rem;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 1.875rem 1.875rem 0 0;
}

.profile-btn {
    padding: 1rem 1.375rem;
    border: 1px solid var(--black);
    border-radius: 100rem;
    cursor: pointer;
    width: 50%;
}

.review-img {
    height: 7.5rem !important;
    width: 10.5rem !important;
    min-width: 10.5rem;
    min-height: 7.5rem;
    margin-right: 1.5rem;
    border-radius: 0.9rem;
    object-fit: cover;
    object-position: center;
}

.create-service-btn {
    background-color: var(--white);
    border-radius: 1.25rem;
}

.modal-body {
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

.modal-subcategories {
    max-height: 80vh;
    overflow-y: auto;
    /* scrollbar-width: none;
    -ms-overflow-style: none; */
}

/* .modal-subcategories::-webkit-scrollbar {
    display: none;
} */

/** APP REWARDS **/

.reward-img {
    height: 5rem;
    min-width: 5rem !important;
    max-width: 5rem !important;
    border-radius: 0.625rem;
    object-fit: cover;
    object-fit: center;
}

.redeem-points {
    text-decoration: underline;
    font-weight: 500;
}

.accumulated-points {
    background-color: var(--white);
    color: white;
    height: 17.375rem;
    border-radius: 1.25rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/** SUBSCRIPTION PLANS **/

.subscription-plan {
    font-size: 2.85rem;
    position: relative;
    top: 12.75rem;
    margin-top: -3.75rem;
}

/** PENDING REVIEWS **/

.pending-review-user {
    height: 3.125rem;
    width: 3.125rem;
    object-fit: cover;
    border-radius: 100rem;
}

.pending-review-service {
    height: 6.713rem;
    max-width: 9.375rem;
    min-width: 9.375rem;
    margin-right: 1.5rem;
    border-radius: 0.9rem;
    object-fit: cover;
    object-position: center;
}

.accept-review {
    background-color: #e8fad7;
    color: #3d4f2c;
    border-radius: 100rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500 !important;
}

.reject-review {
    background-color: var(--white);
    color: var(--gray);
    border-radius: 100rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500 !important;
}

@media (max-width: 1700px) {
    .reject-review::before,
    .accept-review::before {
        font-family: "Material Icons";
        font-weight: normal;
        font-style: normal;
        font-size: 1.5rem;
        line-height: 1;
        display: inline-block;
        text-transform: none;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: "liga";
        -webkit-font-smoothing: antialiased;
    }

    .reject-review::before {
        content: "close";
    }

    .accept-review::before {
        content: "check";
    }

    .reject-review,
    .accept-review {
        font-size: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 2rem;
    }
}

/** PROMOTE **/

.promote-img {
    width: 20.417vw;
    height: 21.125rem;
    border-radius: 1.25rem;
    background-size: cover;
    background-position: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10);

}

.rate-div {
    display: flex;
    flex-direction: column;
    height: 35.75rem;
    background-color: var(--white);
    border-radius: 1.25rem;
    padding: 2.5rem;
}

.rate-description {
    color: var(--gray);
    font-style: italic;
}

.banner-selector {
    border: 1px solid #eae4df;
    border-radius: 100rem;
    padding: 0.3rem;
    cursor: pointer;
    color: var(--gray);
    font-weight: 500;
    height: 3.65rem;
}

.banner-selector .col-md {
    margin: 0 0.65rem;
    transition: all 0.3s ease-in-out;
}

.banner-selector .selected {
    border-radius: 100rem;
    background-color: #eae4df;
    color: var(--black);
    transform: scale(1.05);
    padding: 0.7rem;
    font-weight: 500;
}

/* COOKIES */

.cookies {
    border-radius: 1.25rem;
    width: 30.5rem;
    background-color: var(--white);
    position: fixed;
    bottom: 1rem;
    right: 1rem;
}

.cookies-btn {
    padding: 0.8rem 4.8rem;
    color: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 100rem;
    font-size: 0.9rem;
}

/* CHECKBOX */

/* The container */
.terms {
    display: block;
    position: relative;
    padding-left: 2rem;
}

/* Hide the browser's default checkbox */
.terms input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.check {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.125rem;
    width: 1.125rem;
    border-radius: 0.125rem;
    border: 2px solid #afafaf;
}

/* When the checkbox is checked, add a blue background */
.terms input:checked ~ .check {
    background-color: #303030;
    border: 2px solid #303030;
}

/* Create the checkmark/indicator (hidden when not checked) */
.check:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.terms input:checked ~ .check:after {
    display: block;
}

/* Style the checkmark/indicator */
.terms .check:after {
    left: 0.25rem;
    top: 0.05rem;
    width: 0.35rem;
    height: 0.65rem;
    border: solid white;
    border-width: 0 0.15rem 0.15rem 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/** SLIDER **/

input[type="range"] {
    /* removing default appearance */
    -webkit-appearance: none;
    appearance: none;
    /* creating a custom design */
    width: 100%;
    cursor: pointer;
    outline: none;
    border-radius: 15px;
    /*  overflow: hidden;  remove this line*/

    /* New additions */
    height: 6px;
    background: var(--white);
}

/* Thumb: webkit */
input[type="range"]::-webkit-slider-thumb {
    /* removing default appearance */
    -webkit-appearance: none;
    appearance: none;
    /* creating a custom design */
    height: 15px;
    width: 15px;
    background-color: var(--primary);
    border-radius: 50%;
    border: none;

    /* box-shadow: -407px 0 0 400px var(--primary); emove this line */
    transition: 0.2s ease-in-out;
}

/* Thumb: Firefox */
input[type="range"]::-moz-range-thumb {
    height: 15px;
    width: 15px;
    background-color: var(--primary);
    border-radius: 50%;
    border: none;

    /* box-shadow: -407px 0 0 400px var(--primary); emove this line */
    transition: 0.2s ease-in-out;
}

.slider-values {
    color: #7a7a7a;
    font-size: 0.75rem;
}

/* MULTISELECT */

.selectBox {
    position: relative;
}

.overSelect {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

#checkboxes {
    position: absolute;
    background-color: var(--white);
    border: 1px solid var(--black);
    z-index: 10;
    max-height: 200px;
    overflow-y: auto;
    /* width: auto; */
    width: calc(100% - 1.5rem);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.06);
}

#checkboxes label {
    display: block;
}

#checkboxes label:hover {
    /* background-color: #1e90ff; */
}

/* SWITCH */

.switch-toggle {
    position: relative;
    box-sizing: border-box;
}

.switch-toggle input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
    pointer-events: all !important;
}

.switch-toggle label {
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    /* background: var(--white) !important; */
}

.switch-toggle label:before {
    content: "";
    width: 52px;
    height: 32px;
    background: #f6f4f8;
    position: relative;
    display: inline-block;
    border-radius: 46px;
    box-sizing: border-box;
    transition: 0.2s ease-in;
    border: 1.5px solid #77737b;
}

.switch-toggle label:after {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    left: 7.5px;
    top: 8.9px;
    z-index: 2;
    box-sizing: border-box;
    transition: 0.2s ease-in;
    background: #77737b !important;
}

.switch-toggle input[type="checkbox"]:checked + label:before {
    background: var(--primary);
    border: 0;
}

.switch-toggle input[type="checkbox"]:checked + label:after {
    left: 24px;
    top: 4.5px;
    background: var(--white);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fefbff !important;
}

/** SPINNER **/

.spinner {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}
@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}

/** CROPPER **/

cropper-canvas {
    width: 100%;
    height: 50vh;
    border: 1px solid #ccc;
    display: block;
    position: relative;
}

cropper-image {
    width: 100%;
    height: 100%;
    object-fit: contain; /* o "cover" si prefieres que recorte */
    display: block;
}

/* @import url('https://fonts.googleapis.com/css?family=Space+Mono:400,400i,700,700i'); */

.title {
    margin-bottom: 30px;
    color: #162969;
}

.card {
    width: 320px;
    height: 190px;
    -webkit-perspective: 600px;
    -moz-perspective: 600px;
    perspective: 600px;
}

.card-part {
    box-shadow: 1px 1px #aaa3a3;
    top: 0;
    position: absolute;
    z-index: 1000;
    left: 0;
    display: inline-block;
    width: 320px;
    height: 190px;
    border-radius: 8px;
    background: var(--black);
}

.card-front {
    padding: 18px;
    -webkit-transform: rotateY(0);
    -moz-transform: rotateY(0);
}

.card-logo {
    height: 16px;
}

.card-front-logo {
    position: absolute;
    top: 18px;
    right: 18px;
}
.card-square {
    border-radius: 5px;
    height: 30px;
}

.card-number {
    display: block;
    width: 100%;
    word-spacing: 4px;
    font-size: 20px;
    letter-spacing: 2px;
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
    margin-top: 20px;
}

.card-space-75 {
    width: 75%;
    float: left;
}

.card-space-25 {
    width: 25%;
    float: left;
}

.card-label {
    font-size: 10px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: 1px;
}

.card-info {
    margin-bottom: 0;
    margin-top: 5px;
    font-size: 16px;
    line-height: 18px;
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.card-form-wrapper {
    background: #f8f4f0;
    padding: 2rem;
    border-radius: 1rem;
    max-width: 500px;
    margin: 2rem auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    font-family: "Georgia", serif;
}

.card-form-wrapper h2 {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    color: #1a1a1a;
}

.card-delete-button{
    position: absolute;
    left: 320px;
    width: 2.5rem;
    height: 191px;
    top: 0px;
    background-color: rgb(202, 202, 202);

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 0px 8px 8px 0px ;
}

.StripeElement {
    padding: 0.75rem;
    background: white;
    border: 1px solid #ccc;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

.btn-submit {
    background-color: white;
    color: #1a1a1a;
    border: 1px solid #1a1a1a;
    padding: 0.75rem 1.5rem;
    border-radius: 2rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-submit:hover {
    background-color: #1a1a1a;
    color: white;
}

.form-error {
    color: red;
    margin-top: 0.5rem;
    font-size: 0.9rem;
}

.StripeElement {
    /* height: 1.75rem !important; */
    width: 100%;
    padding: 1.25rem 1.125rem;
    border: 1px solid var(--gray);
    border-radius: 10rem;
    background-color: #fbf7f4;
    line-height: 1.5rem !important;
}
