/* Página de contacto: tarjeta de datos + formulario de la API restilizado */

.rvn-contacto-pagina {
    .rvn-remate-body {
        padding-top: 48px;
        padding-bottom: 72px;
    }

    .rvn-contacto-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
        gap: 28px;
        align-items: start;
    }

    .rvn-contacto-info {
        padding: 36px 32px;
        background: var(--rvn-dark);
        color: var(--rvn-cream);
        border-top: 4px solid var(--rvn-gold);
        border-radius: 2px;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.12);

        .rvn-contacto-titulo {
            margin: 0 0 14px;
            font-family: var(--rvn-font-heading);
            font-size: 30px;
            font-weight: 600;
            color: var(--rvn-cream);
        }

        .rvn-contacto-texto {
            margin: 0 0 26px;
            font-size: 14px;
            line-height: 1.7;
            color: rgba(246, 242, 232, 0.7);
        }

        .rvn-contacto-lista {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin: 0 0 28px;
            padding: 0;
            list-style: none;
            font-size: 15px;

            li {
                display: flex;
                gap: 12px;
                align-items: flex-start;
            }

            i {
                margin-top: 2px;
                font-size: 20px;
                color: var(--rvn-gold);
            }

            a {
                color: var(--rvn-cream);

                &:hover {
                    color: var(--rvn-gold);
                }
            }

            .rvn-contacto-telefonos span {
                display: flex;
                flex-wrap: wrap;
                gap: 4px 16px;
            }
        }

        .rvn-contacto-wpp {
            padding: 13px 24px;
            font-size: 14px;
        }

        .rvn-contacto-redes {
            display: flex;
            gap: 12px;
            margin-top: 28px;
            padding-top: 24px;
            border-top: 1px solid rgba(246, 242, 232, 0.12);

            a {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 42px;
                height: 42px;
                border: 1px solid rgba(201, 162, 74, 0.5);
                border-radius: 50%;
                font-size: 20px;
                color: var(--rvn-gold);

                &:hover {
                    background: var(--rvn-gold);
                    color: var(--rvn-dark);
                }
            }
        }
    }

    .rvn-contacto-form {
        padding: 36px 32px;
        background: #fff;
        border-top: 4px solid var(--rvn-gold);
        border-radius: 2px;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);

        /* el HTML de la API trae su propio .container */
        .container {
            width: auto;
            max-width: none;
            padding: 0;
        }

        .heading h4 {
            margin: 0 0 8px;
            font-family: var(--rvn-font-heading);
            font-size: 26px;
            font-weight: 600;
            color: var(--rvn-dark);

            span {
                display: none;
            }
        }

        p {
            margin-bottom: 24px;
            color: var(--rvn-ink);
        }

        /* etiquetas arriba de cada campo */
        .form-horizontal {
            .form-group {
                margin: 0 0 18px;
            }

            .control-label,
            [class*='col-sm-'] {
                float: none;
                width: 100%;
                margin-left: 0;
                padding-left: 0;
                padding-right: 0;
                text-align: left;
            }

            .control-label {
                margin-bottom: 6px;
                padding-top: 0;
                font-family: var(--rvn-font-heading);
                font-weight: 500;
                letter-spacing: 0.5px;
                color: var(--rvn-dark);
            }
        }

        sup.text-danger {
            color: var(--rvn-brown);
        }

        .form-control {
            height: 46px;
            border: 1px solid rgba(22, 36, 29, 0.25);
            border-radius: 3px;
            background: #fbf9f3;
            box-shadow: none;

            &:focus {
                border-color: var(--rvn-gold);
                background: #fff;
                box-shadow: 0 0 0 2px rgba(201, 162, 74, 0.25);
            }
        }

        textarea.form-control {
            height: 150px;
            resize: vertical;
        }

        .btn-primary {
            padding: 13px 34px;
            background: var(--rvn-gold);
            border-color: var(--rvn-gold);
            color: var(--rvn-dark);
            font-family: var(--rvn-font-heading);
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;

            &:hover,
            &:focus,
            &:active {
                background: var(--rvn-gold-light);
                border-color: var(--rvn-gold-light);
                color: var(--rvn-dark);
            }
        }

        .alert-success {
            background: rgba(22, 36, 29, 0.08);
            border-color: rgba(22, 36, 29, 0.2);
            color: var(--rvn-dark);
        }
    }
}

@media (max-width: 991px) {
    .rvn-contacto-pagina .rvn-contacto-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 575px) {
    .rvn-contacto-pagina {
        .rvn-contacto-info,
        .rvn-contacto-form {
            padding: 28px 22px;
        }
    }
}
