/*==============================================
   Contact One
===============================================*/
.contact-one {
    position: relative;
    display: block;
    padding: 120px 0 0px;
    z-index: 1;
}

.contact-one__bg-color {
    position: absolute;
    top: 120px;
    left: 0;
    bottom: 0;
    width: calc((100% - -145px) / 2);
    background-color: var(--fixpro-primary);
    border-top-right-radius: 20px;
    border-bottom-right-radius: var(--fixpro-bdr-radius);
    z-index: -1;
}

.contact-one__left {
    position: relative;
    display: block;
    margin-right: 50px;
}

.contact-one__map-box {
    position: relative;
    display: block;
}

.contact-one__map-img {
    position: relative;
    display: block;
    opacity: .40;
}

.contact-one__map-img img {
    width: 100%;
}

.contact-one__point-1 {
    position: absolute;
    top: 37%;
    left: 140px;
}

.contact-one__markar {
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    background-color: rgba(0, 40, 58, .40);
    height: 40px;
    width: 40px;
    cursor: pointer;
}

.contact-one__markar:before {
    position: absolute;
    top: 3px;
    bottom: 3px;
    right: 3px;
    left: 3px;
    background-color: var(--fixpro-base);
    content: "";
    border-radius: 50%;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
}

.contact-one__point-1:hover .contact-one__markar:before {
    background-color: var(--fixpro-black);
}

.contact-one__markar:after {
    content: "\e901";
    font-family: 'icomoon' !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 16px;
    color: var(--fixpro-white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-one__popup-box {
    position: absolute;
    top: 15px;
    right: -100px;
    z-index: 2;
    opacity: 0;
    transform: perspective(400px) rotateX(90deg) translateY(10px);
    transform-origin: bottom;
    transition-delay: .1s;
    transition-timing-function: ease-in-out;
    transition-duration: .5s;
    transition-property: all;
}

.contact-one__point-1:hover .contact-one__popup-box {
    opacity: 1.0;
    transform: perspective(400px) rotateX(0deg) translateY(0);
    transition-delay: .3s;
    transition-timing-function: ease-in-out;
    transition-duration: .5s;
    transition-property: all;
}

.contact-one__popup {
    position: relative;
    display: block;
    max-width: 250px;
    width: 100%;
    background-color: var(--fixpro-white);
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
    padding: 12px 12px 12px;
    border-radius: 12px;
}

.contact-one__popup-inner {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    width: 250px;
}

.contact-one__popup-img {
    position: relative;
    display: block;
    width: 80px;
    border-radius: 10px;
    overflow: hidden;
}

.contact-one__popup-img img {
    width: 100%;
    border-radius: 10px;
}

.contact-one__popup-content {
    position: relative;
    display: block;
}

.contact-one__popup-content p {
    font-size: 14px;
    line-height: 20px;
}

.contact-one__popup-content span {
    font-size: 14px;
    font-weight: 600;
    color: var(--fixpro-black);
    position: relative;
    display: block;
    margin-top: 7px;
}

.contact-one__point-2 {
    left: 33%;
    top: inherit;
    bottom: 30%;
}

.contact-one__point-3 {
    left: 57%;
    top: 42%;
}

.contact-one__point-4 {
    left: auto;
    top: 36%;
    right: 11%;
}

.contact-one__point-5 {
    left: auto;
    top: auto;
    bottom: 26%;
    right: 17%;
}

.contact-one__markar .ripple,
.contact-one__markar .ripple:before,
.contact-one__markar .ripple:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -ms-box-shadow: 0 0 0 0 rgba(2, 185, 180, .5);
    -o-box-shadow: 0 0 0 0 rgba(2, 185, 180, .5);
    -webkit-box-shadow: 0 0 0 0 rgba(2, 185, 180, .5);
    box-shadow: 0 0 0 0 rgba(2, 185, 180, .5);
    -webkit-animation: ripple 3s infinite;
    animation: ripple 3s infinite;
}

.contact-one__markar .ripple:before {
    -webkit-animation-delay: 0.9s;
    animation-delay: 0.9s;
    content: "";
    position: absolute;
}

.contact-one__markar .ripple:after {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s;
    content: "";
    position: absolute;
}

.contact-one__call-box {
    position: relative;
    display: block;
    margin-top: 20px;
}

.contact-one__call-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 50px;
}

.contact-one__call-list li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
}

.contact-one__call-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: var(--fixpro-base);
    border-radius: 50%;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
}

.contact-one__call-icon:hover {
    background-color: var(--fixpro-black);
}

.contact-one__call-icon span {
    position: relative;
    display: inline-block;
    font-size: 16px;
    color: var(--fixpro-white);
    font-weight: 500;
}

.contact-one__content {
    position: relative;
    display: block;
    flex: 1;
}

.contact-one__content h4 {
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
}

.contact-one__content h4 a {
    color: var(--fixpro-black);
}

.contact-one__content h4 a:hover {
    color: var(--fixpro-base);
}

.contact-one__right {
    position: relative;
    display: block;
}

.contact-one__right .section-title {
    margin-bottom: 35px;
}

.contact-one__form {
    position: relative;
    display: block;
    background-color: var(--fixpro-black);
    padding: 30px;
    border-radius: var(--fixpro-bdr-radius);
    border-bottom: 5px solid var(--fixpro-base);
}

.contact-one__form .row {
    --bs-gutter-x: 20px;
}

.contact-one__input-box {
    position: relative;
    display: block;
    margin-bottom: 20px;
}

.contact-one__input-box input[type="text"],
.contact-one__input-box input[type="email"] {
    height: 55px;
    width: 100%;
    background-color: rgba(var(--fixpro-base-rgb), 0.07);
    border: none;
    padding-left: 30px;
    padding-right: 30px;
    outline: none;
    font-size: 14px;
    font-weight: 400;
    color: rgba(var(--fixpro-white-rgb), .80);
    display: block;
    border-radius: var(--fixpro-bdr-radius);
}

.contact-one__input-box .select-box {
    width: 100%;
}

.contact-one__input-box .nice-select {
    height: 55px;
    width: 100%;
    background-color: rgba(var(--fixpro-base-rgb), 0.07);
    border: none;
    padding-left: 30px;
    padding-right: 30px;
    outline: none;
    font-size: 14px;
    color: rgba(var(--fixpro-white-rgb), .80);
    font-weight: 400;
    border-radius: var(--fixpro-bdr-radius);
    line-height: 55px;
    display: block;
    float: none;
}

.contact-one__input-box .nice-select:after {
    position: absolute;
    top: 22px;
    right: 30px;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid rgba(var(--fixpro-white-rgb), .80);
    border-right: 2px solid rgba(var(--fixpro-white-rgb), .80);
    margin-top: 0px;
    z-index: 10;
}

.contact-one__input-box .nice-select .option {
    color: var(--fixpro-white);
}

.contact-one__input-box .nice-select .option.selected {
    font-weight: 500;
}

.contact-one__input-box .nice-select .list {
    background-color: var(--fixpro-base);
    border-radius: var(--fixpro-bdr-radius);
}

.contact-one__input-box .nice-select .option:hover,
.contact-one__input-box .nice-select .option.focus,
.contact-one__input-box .nice-select .option.selected.focus {
    color: var(--fixpro-white);
}

.contact-one__input-box textarea {
    height: 120px;
    width: 100%;
    background-color: rgba(var(--fixpro-base-rgb), 0.07);
    border: none;
    padding: 15px 30px 30px;
    outline: none;
    font-size: 16px;
    font-weight: 400;
    color: rgba(var(--fixpro-white-rgb), .80);
    position: relative;
    display: block;
    border-radius: var(--fixpro-bdr-radius);
}

.contact-one__input-box.text-message-box {
    height: 120px;
}

.contact-one__btn-box {
    position: relative;
    display: block;
    text-align: left;
}

.contact-one__btn-box .thm-btn {
    border: none;
    width: 100%;
    justify-content: center;
}

.contact-one__btn-box .thm-btn:hover {
    color: var(--fixpro-black);
}

.contact-one__btn-box .thm-btn::before {
    background-color: var(--fixpro-white);
}

.contact-one__btn-box .thm-btn::after {
    background-color: var(--fixpro-white);
}

/*--------------------------------------------------------------
# Contact Two
--------------------------------------------------------------*/
.contact-two {
    padding: 90px 0 0px;
}

.contact-two .contact-one__bg-color {
    top: 90px;
}

/*--------------------------------------------------------------
# Contact Info
--------------------------------------------------------------*/
.contact-info {
    position: relative;
    display: block;
    padding: 120px 0 90px;
    z-index: 1;
}

.contact-info__single {
    position: relative;
    display: block;
    border-radius: var(--fixpro-bdr-radius);
    background-color: rgba(var(--fixpro-base-rgb), .10);
    text-align: center;
    padding: 40px 40px 41px;
    margin-bottom: 30px;
}

.contact-info__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    background-color: var(--fixpro-white);
    border-radius: 50%;
    margin: 0 auto;
    z-index: 1;
}

.contact-info__icon:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    border-radius: 50%;
    background-color: var(--fixpro-black);
    transform: scale(0);
    transform-origin: center;
    transform-style: preserve-3d;
    transition: all 0.4s cubic-bezier(0.62, 0.21, 0.45, 1.52);
    z-index: -1;
}

.contact-info__single:hover .contact-info__icon:before {
    transform: scaleX(1);
}

.contact-info__icon span {
    position: relative;
    display: inline-block;
    font-size: 32px;
    color: var(--fixpro-black);
    transition: all 500ms linear;
    transition-delay: 0.1s;
    transform: scale(1);
}

.contact-info__single:hover .contact-info__icon span {
    transform: scale(0.9);
    color: var(--fixpro-white);
}


.contact-info__single p {
    margin-top: 20px;
    margin-bottom: 5px;
}

.contact-info__single h3 {
    font-size: 22px;
    font-weight: 700;
    line-height: 32px;
    color: var(--fixpro-black);
    font-family: var(--fixpro-font);
}

.contact-info__single h3 a {
    color: var(--fixpro-black);
}

.contact-info__single h3 a:hover {
    color: var(--fixpro-base)
}

/* Las tres tarjetas, a la misma altura. "Encuéntranos" tiene una línea más
   que las otras dos desde que lleva el enlace a Maps, y con altura
   automática se quedaba descolgada por abajo. */
.contact-info .row {
    display: flex;
    flex-wrap: wrap;
}

.contact-info__single {
    height: 100%;
}

/* El enlace a Maps vive aquí, en la tarjeta que ya da la dirección. Antes
   estaba en una tarjeta aparte, más abajo, que repetía la dirección entera
   y que además se iba con el formulario cuando se apagaba. */
.contact-info__mapa {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: 15px;
    font-weight: 600;
    color: var(--fixpro-base);
    transition: color 300ms ease;
}

.contact-info__mapa:hover {
    color: var(--fixpro-black);
}

.contact-info__mapa .icon-arrow-right {
    font-size: 12px;
}


/*--------------------------------------------------------------
# Contact Page
--------------------------------------------------------------*/
.contact-page {
    position: relative;
    display: block;
    padding: 0 0 120px;
    z-index: 1;
}

.contact-page__inner {
    position: relative;
    display: block;
    background-color: var(--fixpro-black);
    border-radius: 20px;
    padding: 60px 0 60px;
}

.contact-page__left {
    position: relative;
    display: block;
    margin-left: 60px;
    margin-right: 10px;
}

.google-map__one {
    position: relative;
    display: block;
    border: none;
    height: 523px;
    width: 100%;
    border-radius: 20px;
}

.contact-page__right {
    position: relative;
    display: block;
    margin-left: 20px;
    margin-right: 40px;
}

.contact-page__form-title {
    font-size: 45px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: -1.44px;
    color: var(--fixpro-white);
    margin-bottom: 26px;
}

.contact-page__form {
    position: relative;
    display: block;
}

.contact-page__input-box {
    position: relative;
    display: block;
    margin-bottom: 30px;
}

.contact-page__input-box input[type="text"],
.contact-page__input-box input[type="email"],
.contact-page__input-box input[type="number"] {
    height: 57px;
    width: 100%;
    background-color: #00273a;
    border: 1px solid rgba(var(--fixpro-white-rgb), .10);
    padding-left: 20px;
    padding-right: 20px;
    outline: none;
    font-size: 16px;
    font-weight: 400;
    color: var(--fixpro-gray);
    display: block;
    border-radius: 20px;
}

.contact-page__input-box .select-box {
    width: 100%;
}

.contact-page__input-box .nice-select {
    height: 57px;
    width: 100%;
    background-color: #00273a;
    border: 1px solid rgba(var(--fixpro-white-rgb), .10);
    padding-left: 20px;
    padding-right: 20px;
    outline: none;
    font-size: 16px;
    color: var(--fixpro-gray);
    display: block;
    font-weight: 400;
    border-radius: 20px;
    line-height: 57px;
    float: none;
}

.contact-page__input-box textarea {
    font-size: 16px;
    color: var(--fixpro-gray);
    height: 175px;
    width: 100%;
    background-color: #00273a;
    border: 1px solid rgba(var(--fixpro-white-rgb), .10);
    padding: 15px 20px 30px;
    border-radius: 20px;
    outline: none;
    font-weight: 400;
    position: relative;
    display: block;
}

.contact-page__input-box.text-message-box {
    height: 175px;
}


.contact-page__btn-box {
    position: relative;
    display: block;
}

.contact-page__btn-box .thm-btn {
    border: none;
}

.contact-page__btn-box .thm-btn:hover {
    color: var(--fixpro-black);
}

.contact-page__btn-box .thm-btn::before,
.contact-page__btn-box .thm-btn::after {
    background-color: var(--fixpro-white);
}

















/*--------------------------------------------------------------
# End
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Formulario "Pide tu presupuesto" (contact.html)
#
# Sustituye al estilo original de .contact-page__* en esta pagina: la
# tarjeta era casi negra pero los campos seguian en el azul marino de la
# plantilla (#00273a), dos oscuros distintos que no pegaban.
#
# Los rotulos son visibles a proposito. Antes solo existian ocultos para
# el lector de pantalla y la unica pista visible era el placeholder, que
# desaparece en cuanto escribes la primera letra. El texto sale del token
# del panel: es el mismo dato que antes alimentaba el placeholder, asi
# que el cliente los sigue editando desde "Formularios de contacto".
#
# Los iconos son SVG en linea con mask-image y background-color:
# currentColor, la misma tecnica que el panel admin. No se usa la fuente
# de iconos de la plantilla porque le faltan la etiqueta y el candado, y
# mezclar glifos rellenos con SVG de linea se nota.
--------------------------------------------------------------*/

.pcx-form {
    --pcx-form-tarjeta: #0f1419;
    --pcx-form-borde: #1e272f;
    --pcx-form-campo: #111820;
    --pcx-form-campo-borde: #26303a;
    --pcx-form-tinta: #e5e7eb;
    --pcx-form-suave: #a0a7b3;
    --pcx-form-tenue: #9ca3af;
    --pcx-form-marcador: #6b7280;
    --pcx-form-verde: #22c55e;
    --pcx-form-verde-hover: #16a34a;
    background-color: var(--pcx-form-tarjeta);
    border: 1px solid var(--pcx-form-borde);
    border-radius: 16px;
    padding: 40px;
}

.pcx-form__titulo {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.15em;
    letter-spacing: -1px;
    color: var(--pcx-form-tinta);
    margin: 0 0 8px;
}

.pcx-form__intro {
    font-size: 16px;
    line-height: 1.6em;
    color: var(--pcx-form-suave);
    margin: 0 0 32px;
}

.pcx-form__rejilla {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 24px;
}

.pcx-form__campo {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pcx-form__rotulo {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4em;
    color: var(--pcx-form-tinta);
    margin-bottom: 8px;
}

.pcx-form__obligatorio {
    color: var(--pcx-form-verde);
}

/* El icono vive en el contenedor, no en el campo: asi el input conserva
   su fondo y su borde y no hay que pelearse con background-image. */
.pcx-form__control {
    position: relative;
    display: block;
}

.pcx-form__control::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 16px;
    width: 18px;
    height: 18px;
    pointer-events: none;
    background-color: var(--pcx-form-marcador);
    -webkit-mask: var(--pcx-form-icono) center / 18px 18px no-repeat;
    mask: var(--pcx-form-icono) center / 18px 18px no-repeat;
    transition: background-color .2s ease;
}

.pcx-form__control:focus-within::before {
    background-color: var(--pcx-form-verde);
}

@media (forced-colors: active) {
    .pcx-form__control::before {
        background-color: CanvasText;
    }
}

.pcx-form__control--usuario::before { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.pcx-form__control--sobre::before { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 7L2 7'/%3E%3C/svg%3E"); }
.pcx-form__control--telefono::before { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E"); }
.pcx-form__control--etiqueta::before { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L2 12V2h10l8.6 8.6a2 2 0 0 1 0 2.8Z'/%3E%3Cpath d='M7 7h.01'/%3E%3C/svg%3E"); }
.pcx-form__control--globo::before { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.5 8.5 0 0 1 8 8v.5Z'/%3E%3C/svg%3E"); }

.pcx-form__control input[type="text"],
.pcx-form__control input[type="email"],
.pcx-form__control textarea {
    width: 100%;
    display: block;
    background-color: var(--pcx-form-campo);
    border: 1px solid var(--pcx-form-campo-borde);
    border-radius: 12px;
    padding: 0 18px 0 46px;
    height: 54px;
    font-size: 16px;
    font-weight: 400;
    color: var(--pcx-form-tinta);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.pcx-form__control textarea {
    min-height: 160px;
    height: 160px;
    padding: 16px 18px 16px 46px;
    line-height: 1.6em;
    resize: vertical;
}

.pcx-form__control input::placeholder,
.pcx-form__control textarea::placeholder {
    color: var(--pcx-form-marcador);
    opacity: 1;
}

.pcx-form__control input:hover,
.pcx-form__control textarea:hover {
    border-color: #33404d;
}

.pcx-form__control input:focus,
.pcx-form__control textarea:focus {
    border-color: var(--pcx-form-verde);
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .18);
}

.pcx-form__boton {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: none;
    border-radius: 12px;
    padding: 15px 26px;
    background-color: var(--pcx-form-verde);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2em;
    cursor: pointer;
    transition: background-color .2s ease;
}

.pcx-form__boton:hover,
.pcx-form__boton:focus {
    background-color: var(--pcx-form-verde-hover);
    color: #ffffff;
}

.pcx-form__boton:focus-visible {
    outline: 2px solid var(--pcx-form-verde);
    outline-offset: 3px;
}

.pcx-form__icono {
    flex: none;
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask: var(--pcx-form-icono) center / 18px 18px no-repeat;
    mask: var(--pcx-form-icono) center / 18px 18px no-repeat;
}

.pcx-form__icono--enviar { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13'/%3E%3Cpath d='M22 2 15 22l-4-9-9-4Z'/%3E%3C/svg%3E"); }
.pcx-form__icono--candado { --pcx-form-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); width: 16px; height: 16px; }

@media (forced-colors: active) {
    .pcx-form__icono {
        background-color: CanvasText;
    }
}

.pcx-form__aviso {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5em;
    color: var(--pcx-form-tenue);
    margin: 16px 0 0;
}

/* Los avisos que pinta jQuery Validate. No cambia ninguna regla: solo
   deja de salir en el azul de enlace por defecto del navegador. */
.pcx-form label.error {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #f87171;
    margin-top: 6px;
}

.pcx-form .result {
    color: var(--pcx-form-suave);
}

.pcx-form .result:not(:empty) {
    margin-top: 16px;
}

/* Dos columnas desde tableta (768px). Por debajo, una sola a todo el
   ancho: los campos de 46px de sangrado por el icono se quedan sin sitio
   antes que eso. */
@media (min-width: 768px) {
    .pcx-form__rejilla {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 24px;
    }

    .pcx-form__campo--ancho {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .pcx-form {
        padding: 24px 20px;
        border-radius: 14px;
    }

    .pcx-form__titulo {
        font-size: 30px;
        letter-spacing: -0.6px;
    }

    .pcx-form__intro {
        margin-bottom: 24px;
    }

    .pcx-form__boton {
        width: 100%;
        justify-content: center;
    }
}
